ASP.NET + C#。从模板创建word文档

时间:2014-11-28 12:40:32

标签: c# asp.net ms-word openxml-sdk

我有一个word文档,其中只包含一个填充了文本和图形的页面。该页面还包含一些占位符,如[Field1],[Field2],...等。 我从数据库中获取数据,我想打开这个文档并用一些数据填充占位符。对于我想要打开此文档的每个数据行,使用行的数据填充占位符,然后将所有创建的文档连接到一个文档中。 最好和最简单的方法是什么?

2 个答案:

答案 0 :(得分:2)

答案 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);
    }
}

}