我想创建一个基于带有内容控件的模板的新Word文档。
我需要填写那些内容控件(文本)。
我只找到了如何生成新的Word文档,但没有基于模板。
您有任何链接或教程吗?
使用OpenXml填充模板可能是错误的吗?
// Create a Wordprocessing document.
using (WordprocessingDocument myDoc =
WordprocessingDocument.Create("d:/dev/test.docx",
WordprocessingDocumentType.Document))
{
// Add a new main document part.
MainDocumentPart mainPart = myDoc.AddMainDocumentPart();
//Create Document tree for simple document.
mainPart.Document = new Document();
//Create Body (this element contains
//other elements that we want to include
Body body = new Body();
//Create paragraph
Paragraph paragraph = new Paragraph();
Run run_paragraph = new Run();
// we want to put that text into the output document
Text text_paragraph = new Text("Hello World!");
//Append elements appropriately.
run_paragraph.Append(text_paragraph);
paragraph.Append(run_paragraph);
body.Append(paragraph);
mainPart.Document.Append(body);
// Save changes to the main document part.
mainPart.Document.Save();
}
答案 0 :(得分:0)
使用OpenXML是正确的方法,因为您可以在不需要安装MS Word的情况下操作文档 - 想想服务器方案。然而,它的学习曲线陡峭乏味。在我看来,最好的方法是要求预算购买第三方工具包,并专注于业务领域,而不是OpenXML调整。
在您的示例中,您在Word中有一个模板,并希望使用数据更新(合并)它。对于我们的一些场景,我使用Docentric Toolkit完成了此操作,并且它运行良好。一旦了解了它的工作原理,就可以快速创建解决方案。如果你被困在DT的家伙不会让你失望。请参阅此链接(http://www.codeproject.com/Articles/759408/Creating-Word-documents-in-Net-using-Docentric-Too)以了解如何使用它。默认情况下它会创建.docx,但您也可以获得固定的最终文档(pdf或xps)。