2013-01-07 110 views
0

我在寫一個需要讀取excel文件的C#程序(.net 2.0)。我開始知道我將不得不使用Microsoft.Office.Interop.Excel。我下載了O2003PIA.MSI並使用7Zip,提取了DLL(未安裝)。現在,當我添加參照提取EXCELPIA.DLL,它引發以下錯誤:使用Office 2003 interop DLL而不安裝可再發行

Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified. 

我要部署的組件作爲專用程序集,並且不希望最終用戶安裝可再發行。有什麼依賴我失蹤?

我已經嘗試添加對OFFICE.DLL的引用,但它也沒有幫助。

編輯1

  1. 使用此之前,安裝Office 2003需要它?
  2. 是否還有其他.net 2.0選擇?
+0

PIA只是包裝:使用「依賴查看器」來查看是否有任何缺少先決條件的DLL。在加載程序集時(即在可搜索的DLL路徑中),必須找到這些DLL,但不應將*添加爲項目引用。請記住安裝的各個Office程序使用PIA。此外,請確保只針對正確的位(32位for Office 2003),因爲64位可執行文件無法找到正確的32位資源。 – 2013-01-07 03:50:14

+0

我用Dependency Walker,發現它取決於MSCOREE.dll –

+0

這確實是Office的一部分:)但是,我不知道是否有可能獲取/分發這樣的文件*但不安裝Office。 (另外,如果安裝了Office,則驗證VS是否以32位模式運行;直到Office 2007才提供64位Office支持。) – 2013-01-07 03:56:35

回答

0

我用了一件叫NPOI的東西,它工作得很好。

相關問題