我在项目中使用“Microsoft Word 12.0对象库”从模板创建自动化文档文档,但速度慢得令人无法接受。我正在寻找替代品:我需要从模板创建文档,运行一些宏,并将文本和表格插入各种书签范围(某些文本格式选项也不错)。我只需要最后文件与Word2007中兼容,但倾向于容易从.NET的解决方案(其他建议是赞赏太)...用于自动化Microsoft Word 2007文档创建的选项
请指教。
我在项目中使用“Microsoft Word 12.0对象库”从模板创建自动化文档文档,但速度慢得令人无法接受。我正在寻找替代品:我需要从模板创建文档,运行一些宏,并将文本和表格插入各种书签范围(某些文本格式选项也不错)。我只需要最后文件与Word2007中兼容,但倾向于容易从.NET的解决方案(其他建议是赞赏太)...用于自动化Microsoft Word 2007文档创建的选项
请指教。
看看微软的Office OpenXML SDK。它允许您在没有Office应用程序的情况下以编程方式创建Word 2007(.docx)文档。
要使用它,您需要熟悉OpenXML文件格式。提供示例的一个很好的起点是Brian Jones和Erika Ehrli的博客。
CodeProject上的这个示例也可能是一个好的开始:Creation of a Word 2007 document using the Open XML Format SDK。
我还建议您查看SDK中包含的工具DocumentReflector,该工具创建基于现有文档生成特定Word文档的代码。
选项,我以前到现在:
其他建议是赞赏太
Java的等价物的OpenXML的SDK是docx4j(我的项目),和POI。
使用docx4j,您可以将宏注入到现有的docx中,或者从dotm中工作(如divo所示)。
Officewriter是另一种选择。
的OfficeWriter API是一个.NET库,允许你生成, 操作,并从自己的应用程序 读取Excel和Word文档。
此SDK是否包含在OpenXML文档中处理/运行宏的选项?顺便说一句:谢谢你的伟大答案。 – akosch 2009-10-22 15:16:43
不,SDK只是在新的基于XML的文件格式的层面上工作。这意味着你将不得不在.NET中重写你的宏代码。 – 2009-10-22 15:39:00
我可以在我新创建的文档中保留模板中的宏吗? – akosch 2009-10-22 16:08:25