【发布时间】:2016-12-23 10:44:01
【问题描述】:
我打开文档并复制到流中。
如何在流之前替换文档中的一些文本?
//wordTemplate - var with path to my word template
byte[] result = null;
byte[] templateBytes = System.IO.File.ReadAllBytes(wordTemplate);
using (MemoryStream templateStream = new MemoryStream())
{
templateStream.Write(templateBytes, 0, (int)templateBytes.Length);
using (WordprocessingDocument doc = WordprocessingDocument.Open(templateStream, true))
{
MainDocumentPart mainPart = doc.MainDocumentPart;
mainPart.Document.Save();
templateStream.Position = 0;
using (MemoryStream memoryStream = new MemoryStream())
{
templateStream.CopyTo(memoryStream);
result = memoryStream.ToArray();
}
}
}
【问题讨论】:
-
目标——打开word文档,修改部分字符串,发送给用户下载
-
您可以简单地使用
Regex来替换文本。给它一个StreamReader.ReadToEnd()的WordprocessingDocument,瞧!注意:您需要重写其中的大部分内容......因为看起来您不是最简单的方法,开始。 -
谢谢,你能提供一个简短的例子如何做得更好吗?