2008-10-07 114 views

回答

4

雅各布真的是這裏工作的工具。我建議你花一點時間來了解一下COM和ActiveX的工作原理,我想你會發現它更易於使用。 COM是相當成功的,但它的硬度爲。像VB這樣的包裝器看起來很容易(因爲它們工作的用途有限),但這並不容易。我有一本關於學習COM的好書,但目前沒有這個名字...

你想了解IDispatch接口(這是大多數Excel的COM接口開發的東西)。這是一個討厭的,討厭的界面(你可以用它做太多的病毒事件之一,以至於不可能知道實際發生的事情) - 但學習它是關鍵。

如果您在一個區域(即從單元格獲取值)有問題,您可以抓取Scriptom的源代碼並查看它們的功能(畢竟開源!)。

另一個建議是嘗試在VBA中實現你的代碼的一些測試用例,並確保你正確地思考了所有的返回值。當我們在其中一個Java應用程序中進行Excel自動化時,我們使用Word的VBA實現了一般算法,處理了問題案例等等。之後,轉移到Jacob上非常簡單。

  • ķ
+0

我用VB/VBA和是的,它使COM似乎很容易。你的建議是有幫助的,如果你可以添加書名,當你找到它,這將不勝感激。你更喜歡什麼Java/COM庫? – 2008-10-08 03:01:16

0

你看過JExcelAPI嗎?不使用ActiveX,而是直接讀取和寫入Excel文件的Java庫。

不是您的問題的確切答案,但它也可以解決問題,特別是如果您正在尋找一個純粹的Java解決方案。

0

還有JIntegra,它也有類似的事情。也是商業。 還有JNIWrapper,它做了類似的事情。再次,也是商業。

相關問題