再來繼續介紹文件產生器--ASPOSE有關MS OFFICE的系列產品。
當初我會找這個產品是有一段故事的,大概很多公司都有許多制式的文件需要產生,如報價單、各式報表、月報等等,每個都大同小異,但是就是某些地方不同,我的公司也是如此。每次手工製作及修改這些文件就傷透腦筋,因此,就有了文件產生器的構想。
第一代的文件產生器就是使用文件套版+VBA的方式,這種方式並不理想,只適合變動部分比較小的,例如抬頭、住址等。
第二代的文件產生器就是使用Office Web Component(OWC),這個方法就是在WEB SERVER上由OWC啟動一個OFFCE執行緒,協助產生OFFICE文件。乍看之下還OK,測試時也可以(只是常會讓WEV SERVER卡死),但是,正式上線之後便徹底毀了。因為,每個USER執行的時候,都產生一個OFFCE執行緒,有時程式錯誤OFFCE執行緒也不會自動結束,沒多久SERVER就掛了。
這個OWC的方案主要有幾個缺點:
1. 由client啟動server端程式,有安全的顧慮
2. 效能不佳,每次執行就會產生OFFCE執行緒,會拖垮server
3. 死掉的執行緒沒人收屍(沒有garbage collector機制)
4. OWC的指令(methods & properties)有版本的問題,SERVER裝啥版本的OFFICE,就只能用啥版本,而且各版本之間不甚相容,例如OFFICE 2000與XP的指令就不同。
第三代就是ASPOSE的解決方案:
主要優點有:
1. SERVER只需裝ASPOSE元件,不必裝OFFICE,可以省下一些錢
2. 產出的文件可以不限版本,OFFICE 2000、XP、2003均可(2007還未支援)
3. 執行時使用資源很少,執行效能比OWC好很多
主要缺點有:
1. 只支援.NET及JAVA(部分產品),不『太』支援ASP
2. 並未完整支援OFFCE全部的功能,或是作法和OWC不太相同
3. 使用需要對元件有基本的認識,當然,這點和使用OWC是一樣的
以下是相關產品列表:
1. Aspose.Cells: 可以產生EXCEL文件,目前正在使用,可以達到EXCEL XP幾乎全部功能
2. Aspose.Words: 可以產生WORD文件,還在測試中
3. Aspose.Slides: 可以產生PowerPoint文件,目前沒有使用的計畫
4. Aspose.Tasks: 可以產生Project文件,目前沒有使用的計畫
如果有相關問題,可以留言討論,或是參考該公司的網站 http://www.aspose.com 。