如何用数据源生成word文档?

时间:2015-08-15 21:27:02

标签: c# xsd ms-word vsto

我想用运行时数据源(对象实例)填充Word文档模板。我读了很多关于Word Schema,XML,XSD等的内容,但是一切都很模糊,难以理解不同的术语。

我关注了this,但我不知道在哪里可以将单词架构添加到word文档或架构库中。

在Visual Studio 2010中,我还通过将数据源(对象)拖放到create the content controls来完成文档级项目的步骤,但我不知道在此之后该怎么做。如何在运行时使用word文档和绑定的对象数据,并打开word文档的实例进行编辑/打印?

2 个答案:

答案 0 :(得分:1)

  谢天谢地,Cathal Coffey的开源DocX解决了这两个问题   很好,与Interop不同,它提供了一个易于使用的高度   可发现的API,用于执行无数的操作/提取   反对Word文档格式(.docx格式,引自   Word 2007)。最重要的是,DocX不要求Word或任何其他   Office依赖项将安装在客户端计算机上!满满的   来源可以从Coffey的Codeplex repo获得,或者您可以添加DocX   使用Nuget进行项目。

来源:Writing to Word Doc

答案 1 :(得分:0)

内容控件仅支持与custom xml part绑定。

首先将您的XML添加为doucment的customxml部分。

Office.CustomXMLPart employeeXMLPart = this.CustomXMLParts.Add(xmlData);//xmlData is xml string

然后使用xpath

绑定内容控件
string xPathName = "ns:employees/ns:employee/ns:name";
    this.plainTextContentControl1.XMLMapping.SetMapping(xPathName,
        prefix, employeeXMLPart);

Here is the reference article from MSDN