2011-04-28 102 views
3

可能重複創建:
Creating, opening and printing a word file from C++如何OpenOffice文檔在C++

嗨,

我需要從C創建一個Word文檔++程序, 林使用Windows 2008服務器,辦公自動化有時會在這裏失敗,而且我需要非交互式服務來處理自動化提供的交互式服務。我實現了自動化i t有時候會失敗

我可以創建openoffice/word doc的方式是什麼?

可以請你給我建議任何鏈接或教程來做到上述。

PS - 我來了解幾個方法1.Openoffice SDK 2.OpenXML SDK

如果你有上述工作,請建議我使用哪個以上。

在此先感謝

+3

@paul R - 請檢查您已經鏈接的上述qestion講述了有關辦公自動化,嵌入word文檔。 我需要通過C++程序創建一個openoffice word文檔,可能會使用officeopen XML或openoffice SDK。 – Greenhorn 2011-04-28 06:19:44

+0

@Greenhorn:使用Office自動化有什麼問題?您不需要在程序中嵌入Word文檔以利用Office自動化。完全可以使用它來導出到Office文檔。除非你不瞄準Windows系統...... – 2011-04-28 06:41:25

+0

@In silico:是不是依賴於Windows + Office安裝?這是一個相當大的問題。這個問題標有openoffice,但可以使這個限制更清晰...... – 2011-04-28 06:46:15

回答

2

我勸你看看this page這裏筆者講述了他採取了什麼解決方案來生成服務器上的Word文檔,而無需MSWORD可用,沒有自動化或第三方庫。

2

如果您的目標是Word 2007或更高版本,則直接使用Open Office XML SDK和Open Office XML是很好的選擇。

如果您的目標用戶是Wo​​rd 2003及更早版本,那麼它可能不是最好的選擇。但是,即使這些用戶也可以安裝免費的篩選器,以便能夠在Word 2003中打開Word 2007(.docx)文檔。您可以從應用程序鏈接到此下載。大多數使用Word 2003或更早版本的人可能都會安裝該過濾器,因爲他們經常會遇到人們共享較新文件的情況。

http://www.microsoft.com/DOWNLOADS/en/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

的Open Office XML SDK是閱讀和寫作的.docx和其他Office 2007文件.NET API。如果你使用C++/CLI,那麼你可以很容易地使用它,它將簡化編寫.docx文件的過程。

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

但是,如果你使用直C++,沒有.NET,那麼你就不能使用SDK。儘管這並不是一個巨大的損失。無論如何,SDK只是對XML文件的輕微包裝。一個docx文件只是一個帶有一堆XML文件的zip文件。文件和文本存儲位置之間的關係存在一些奇怪的地方,以及某些東西是如何被位置引用的,而不是通過id引用的,這通常被認爲是XML的一種非常糟糕的做法。無論如何,這些問題很容易解決,您可以手動創建.docx文件,而不會有太多麻煩。實際上,創作比閱讀要容易得多。

SDK仍然很有用,因爲它包含一個文件探索工具,它將爲您提供現有文件的圖形瀏覽器。當您想知道如何創建特定內容時,請在Word 2007中執行此操作,保存該文件,然後查看該文件包含的內容。

相關問題