我有一个word文档,其中只包含一个填充了文本和图形的页面。该页面还包含一些占位符,如[Field1],[Field2],...等。 我从数据库中获取数据,我想打开这个文档并用一些数据填充占位符。对于我想要打开此文档的每个数据行,使用行的数据填充占位符,然后将所有创建的文档连接到一个文档中。 最好和最简单的方法是什么?
答案 0 :(得分:2)
您可能需要使用第三方库。
您可能需要查看http://www.codeproject.com/Articles/660478/Csharp-Create-and-Manipulate-Word-Documents-Progra
以下部分专门讨论替换Word文档中的值。
答案 1 :(得分:1)
我会建议你使用openXML而不是某些第三方
添加以下命名空间System.Text.RegularExpressions; DocumentFormat.OpenXml.Packaging;和DocumentFormat.OpenXml.Wordprocessing;
public static void SearchAndReplace(string document)
{
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true))
{
string docText = null;
using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
{
docText = sr.ReadToEnd();
}
Regex regexText = new Regex("Hello world!");
docText = regexText.Replace(docText, "Hi Everyone!");
using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
{
sw.Write(docText);
}
}
}