我试图用换行符(换行符)替换整个 DOCX文件上的特定字符串文本。使用OpenXML SDK用换行符替换docx文件上的文本(换行符)
我正在搜索的文本字符串可能在段落中或文件中的表格中。
我目前在使用下面的代码来替换文本。
using (WordprocessingDocument doc = WordprocessingDocument.Open("yourdoc.docx", true))
{
var body = doc.MainDocumentPart.Document.Body;
foreach (var text in body.Descendants<Text>())
{
if (text.Text.Contains("##Text1##"))
{
text.Text = text.Text.Replace("##Text1##", Environment.NewLine);
}
}
}
ISSUE:当运行该代码时,输出DOCX文件具有与空间(即,““),而不是一个换行替换的文本。
如何更改此代码以使其工作?
感谢您寻找到这一点。使用'run.AppendChild(new Break());'可能会创建一个新行。但是,我怎么才能把它放入文档中,而不仅仅是它应该替换文本的位置? – slayernoah 2014-10-10 21:02:07
'Text.Replace()'函数只接受两个字符串,我相信 – slayernoah 2014-10-10 21:05:19
谢谢你的更新。我会试试这个,让你知道:) – slayernoah 2014-10-12 02:59:20