2011-10-05 109 views
3

我負責查找Excel加載項中的瓶頸。一些工作簿計算得非常慢。我有使用VBA代碼的經驗,而我們產品的舊版本使用所有VBA代碼來執行計算。但是,在產品的較新版本中,許多計算都是通過加載項完成的,該加載項使用Excel.Interop庫構建在ASP.NET C#之上。我的問題是:互操作庫運行速度較慢,直接駐留在VBA工作簿中的代碼?根據我的經驗,使用Excel.Interop的所有項目在激烈的計算中運行速度非常緩慢。如果是這樣,有沒有人有任何建議加快Excel.Interop進程和功能?Excel C#Interop與Excel VBA

謝謝。

回答

4

對於對象模型調用和數據傳輸調用,Interop的開銷比VBA高出很多。它的價值在努力減少通話次數。 你可能想看看我的博客文章比較Excel的UDF技術: UDF Technology Choices

如果你能夠使用外接-Express或Excel的DNA,我會建議這兩種產品。
有關優化計算速度的一般建議,我推薦使用my website
或我的MSDN white papers