導出Excel程序調試起來很正常,發布到服務器上卻出錯。
錯誤:未能加載文件或程序集“Office, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040)
原因:程序中使用的Excel.dll是office2003的程序集生成的, 我服務器上安裝的是office2007,版本不匹配。
解決方案:把office2007目錄下的Excel.exe重新生成Excel.dll ,工具是TlbImp.exe ,安裝Visual Studio的各版本都有。
方法:1.本人的是VS2010,TlbImp.exe在目錄G:\Program Files\Microsoft SDKs\Windows\v7.0A\bin下,在系統控制台轉到這個路徑,把Excel.exe也拷貝到這個路徑下,命令:TlbImp.exe Excel.exe 如圖:
在路徑下可以找到已經生成的Excel.dll 。好那就拷貝到Bin目錄下,加入到項目引用中,調試成功,錯誤消失 。