之前提到過 不建議在 asp.net 上使用 office Interop 的原因,那在伺服器端需要生成 Office 文件時,究竟用什麼方法較適當呢?我建議使用 xml 的方法。
Office 2003 有自己的 xml格式。到了 Office 2007 時代, Microsoft 提交了 Open Xml Format 。建立 xml 的資料是純文字的,任何平台都能建立文件。
但是,了解 xml 的格式是需要相當的時間,尤其這些 Word, Excel 等格式,充滿著許許多多的物件及相對應的 xml element。為了讓開發 Open Xml 更為方式,微軟推出了 OpenXml Sdk,目前推到了 2.0 , (仍為 CTP 版)。
我初步使用的心得:
- 還是在操作 xml:當初以為是像 Office automation 的物件方式在生成文件,其實這個想法是錯的。
- 已經相當成熟了:雖然是操作 xml,但配合多個 Tool,反而更能深入了解該 xml format 的用意。
- 是格式,而非應用程式:例如製作 doc的目錄 (Table of Content),這是一個 Word 的功能,因此只能由 Word 應用程式來生成。在 xml 中是沒有這個功能的。當然,我們可以寫一個類似的功能,直接生成文件目錄的 xml。但,蠻花時間的哦!
沒有留言:
張貼留言