MS爲Excel引入了JavaScript API。基於文檔,它似乎也支持桌面版的Excel。Excel js插件和COM對象
對於c#VSTO插件與Excel通信的方式是通過封送(COM對象)。如果在沒有適當清理的情況下獲取太多COM對象,就會發生混亂。
所以問題是,js addin是否有這些缺陷?更具體地說,js API是否使用COM?如果是這樣,Windows和Mac版本之間是否有區別?我瘦Mac沒有COM的概念(糾正我,如果我錯了)
MS爲Excel引入了JavaScript API。基於文檔,它似乎也支持桌面版的Excel。Excel js插件和COM對象
對於c#VSTO插件與Excel通信的方式是通過封送(COM對象)。如果在沒有適當清理的情況下獲取太多COM對象,就會發生混亂。
所以問題是,js addin是否有這些缺陷?更具體地說,js API是否使用COM?如果是這樣,Windows和Mac版本之間是否有區別?我瘦Mac沒有COM的概念(糾正我,如果我錯了)
Office.js API不共享任何COM遺產與當前的VBA/VSTO/COM加載項模型。這是全新的代碼,專爲跨平臺需求而編寫。在可能的情況下(例如Excel),這些新代碼的絕大部分實際上是在Desktop和Online以及iOS和Mac之間共享的。對於其他主機應用程序,代碼本身可能不共享,但我們盡我們所能確保一致性 - 以及新的特定於主機的API(Word
,Excel
和OneNote
名稱空間)一直支持實現可在其中支持的API在所有主機中統一。也就是說,如果API說它是ExcelApi 1.3
的一部分,那麼可以保證任何支持1.3(Office.context.requirements.isSetSupported('ExcelApi', 1.3) === true
)的Excel平臺(桌面,iOS等)都具有屬於該集合的所有API。
我真的不知道MAC和Win Office在這裏有區別。此JS也適用於平板電腦版本的Excel和Excel在線。到目前爲止,我對性能沒有什麼印象,但它在多個平臺上運行的事實確實非常好。注意:有這樣一個問題的專用標籤:辦公室-js – jkpieterse
@jkpieterse是我不希望從一開始就有出色的表現。但我只是厭倦了與COM對象作鬥爭。感謝提到標籤btw – Steve
值得一看:http://buildingofficeaddins.com/ – jkpieterse