我正在使用openxml WordProcessingDocument打开一个Word模板,并将占位符x1替换为字符串。这很好用,除非我需要字符串包含换行符。如何将x1替换为可能包含word可以识别的换行符的文本?我已尝试\n \r但这些都不起作用
为了进一步解释一下,在打开word template时,我将其读入StreamReader,然后使用.Replace替换x1。
发布于 2010-05-20 16:02:43
要插入换行符,必须向Run中添加一个Break实例。
示例:
run.AppendChild(new Text("Hello"));
run.AppendChild(new Break());
run.AppendChild(new Text("world"));生成的XML将类似于:
<w:r>
<w:t>Hello</w:t>
<w:br/>
<w:t>world</w:t>
</w:r>发布于 2011-10-08 06:55:16
下面是一个C#函数,它将接受一个字符串,用换行符将其拆分,并在OpenXML中呈现它。若要使用,请实例化一个运行,并使用字符串将其传递给函数。
void parseTextForOpenXML( Run run, string textualData )
{
string[ ] newLineArray = { Environment.NewLine };
string[ ] textArray = textualData.Split( newLineArray, StringSplitOptions.None );
bool first = true;
foreach ( string line in textArray )
{
if ( ! first )
{
run.Append( new Break( ) );
}
first = false;
Text txt = new Text( );
txt.Text = line;
run.Append( txt );
}发布于 2014-12-02 23:54:15
虽然这个问题已经得到了回答,但我有另一种方法来解决以下问题:
如何使用OpenXML制作??
在这种情况下,您可以使用功能强大的微软OpenXML生产力工具(也称为OpenXmlSdkTool).Download here.
文档
进行复制。
https://stackoverflow.com/questions/2871887
复制相似问题