5

我正在使用 OpenXML 将文本添加到段落节点。我正在包装 OpenXML 方法,并使用以下方法来附加文本,该方法适用于没有标记的文本。

    public void AddPlainParagraphText(string text)
    {
        m_wordprocessingDocument.MainDocumentPart.Document.Body.AppendChild(
            new Paragraph(
                new Run(
                    new Text(text))));
    }

我知道对于诸如制表符之类的特殊字符,您需要使用 OpenXML 的TabChar类并将其附加到 Text 项。我试图弄清楚是否可以自动执行此操作,OpenXML 会在文本中看到 '\t',并自动设置 XML 以通过 . 我想我可以用 \t 标记字符串,但是我必须搜索每种类型的标记字符。这可以自动完成吗?

4

1 回答 1

6

在收到文本时将它们拆分,然后在每个 '\t' 上添加

var stringArray = text.Split('\t');

var paragraph = new Paragraph();

for(var i = 0; i <= stringArray.Length; i++)
{
    paragraph.Append(new Run(new Text(stringArray[i])));

    if(i != stringArray.Length)
       paragraph.Append(new Run(new TabChar()));
}

m_wordprocessingDocument.MainDocumentPart.Document.Body.AppendChild(paragraph);

评论后编辑:确实应该将它们放入Runs

于 2012-08-13T14:04:11.803 回答