我在項目中使用「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