2010-04-29 48 views
3

我正在開發一個Excel自動化應用程序,用於讀取和寫入Excel電子表格。我的計算機上安裝了Office 2007。因此,我可以引用Excel 12.0對象庫和Excel 5.0對象庫。我不想使用Excel 5.0,因爲它真的很老,記錄不完整。因此我引用了Excel 12.0。如何獲取未安裝相應Office版本的特定Excel對象庫

但是,目標計算機安裝了Office 2003,因此只有Excel 11.0。所以當我編譯我的程序時,它會在目標機器上崩潰,因爲引用的庫是不同的。

我想知道有沒有辦法在不安裝Office 03的情況下獲取Excel 11.0?我試圖從MSDN和微軟支持頁面找到答案,但找不到任何東西?這很奇怪,因爲在將來開發人員擁有比客戶端更新的Office版本的情況下也可能會發生這種情況。

回答

2

看看我的開源項目MS Office Wrapper for .NET。 辦公應用程序對象的實例是通過「CreateObject」方法動態創建的,然後使用後期綁定功能,因此您不需要任何「強引用」任何版本的MS Office庫。

您可以使用C#,VB.NET,J#,等...

的源代碼可用了。

1

我與SpreadsheetGear很高興。該組件允許您讀取和寫入excel文件。我使用它進行報告,客戶機只有Excel Viewer(這是免費的)來讀取文件並打印它們。

我使用版Excel Viewer 2003,因爲2007年的版本有一個印刷錯誤(對打印這是PROMT你打開文件對話框)

2

你並不需要打得如此強大。只需將其包含到最新的Office PIA(2007)發行包中即可。它向後兼容Office 2003.

請閱讀Excel product team blog和關於兼容性的詳細答案here

我們將2007 PIA納入發行版,並且與以前(2003)版Excel無關。

這裏提到的用於.NET的MS Office Wrapper是非常不錯的選擇。