項目中遇到問題,其中一個工程中能引用using Excel = Microsoft.Office.Interop.Excel;,但在同一個solution下的另外一個工程卻引用出錯。
網上搜到資料說要重新生成:
重新運行以前編寫的對Excel文件進行操作的程序提示錯誤“錯誤 1 命名空間“Microsoft”中不存在類型或命名空間名稱“Office”(是缺少程序集引用嗎?) ”。於是發現自己的office2007,同事的是2003,於是將項目中“引用”文件夾下的帶感嘆號的2個引用刪除掉,重新添加引用。
后來發現添加了“(com):Microsoft Office 11.0 Object Library”后,怎么也找不到“Microsoft.Office.Interop.Excel”,各種方法都找遍了,就是找不到。於是在網上搜集了無數文章,最后終於解決了這個問題
第一步,將Excel.exe生成Interop.Excel.dll。生成辦法:進入你的visual studio的sdk下的bin目錄,找到TlbImp.exe文件,如果沒有,請用光盤安裝此文件,詳細說明請參照MSDN。拷貝Excel.exe到該<bin>目錄。點擊“開始”——“運行”——輸入“cmd”進入命令行方式——進入<bin>目錄,(也可以直接攻VS2005的命令提示欄)
——輸入“TlbImp /out:Interop.Excel.dll Excel.exe”,提示“Type library imported to Interop.Excel.dll路徑”。此時應該可以在bin目錄下找到Interop.Excel.dll文件。
搜索到TlbImp.exe文件路徑:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
第二步:在你的visual studio里點擊:“你的項目——添加引用——瀏覽——找到該Interop.Excel.dll”——“確定”,即可完成引用。
如果還不行,移除Interop.Excel.dll,重新在com里面添加Microsoft excel11.0 Library
第三步:添加命名空間:using Excel=Microsoft.Office.Interop.Excel;
百思不得其解,不可能我的電腦中不存在這個dll,於是找到能引用的那個項目,右鍵查看屬性,找到了dll的路徑:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll
接下來,只需要在項目中的reference中browser添加上面的路徑,問題就成功解決了。