OpenXML 中的制表符

Ste*_*bbi 5 .net c# ms-word openxml

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

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

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

Kyo*_*ode 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);
Run Code Online (Sandbox Code Playgroud)

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