操作背景:asp.net操作Excel 出現(xiàn)問題:在本地添加引用(com):Microsoft Office 11.0 Object Library,并寫好程序調(diào)試正常,部署到服務(wù)器時,出現(xiàn)異常 Excel.Application不是對象. 初步診斷:服務(wù)器沒有安裝Excel組件 第一步嘗試解決:對服務(wù)器安裝Excel等Office組件,進(jìn)一步測試程序:失敗! 第二步嘗試解決:將Excel.exe生成Interop.Excel.dll,然后用sdk引用該Dll,編譯成功,測試程序:成功! 原因:本地引用的com不會在程序的bin目錄生成dll文件,而程序是根據(jù)路徑在尋找dll的.部署到服務(wù)器上時,假如Excel等dll與本地路徑不一致,將會拋出異常,定義的Excel對象肯定是不存在的. 具體方法: 1、如何生成Interop.Excel.dll? 進(jìn)入你的visual studio的sdk下的bin目錄,找到TlbImp.exe文件,如果沒有,請用光盤安裝此文件,詳細(xì)說明請參照MSDN。 命令行(cmd)進(jìn)入bin目錄,運(yùn)行TlbImp /out:Interop.Excel.dll Office安裝目錄+Excel.exe 此時很可能會報錯:TlbImp error: Unable to locate input type library: 'c:\program files\mcrosoft offi ce\office\EXCEL.EXE' 此問題很有可能是TlbImp的bug,不支持空格式的路徑;(具體原因不明)不要緊,將Excel.exe拷貝入bin目錄,直接運(yùn)行TlbImp /out:Interop.Excel.dll Excel.exe,提示“Type library imported to Interop.Excel.dll路徑” 在bin目錄下找到Interop.Excel.dll文件。在你的visual studio里將其引用即可。 2、如果是excel2000或excel2002怎么辦? 如果是Excel2000,則將Excel.exe改成Excel9.olb Excel2002同2003 3、各種版本的引用組件參數(shù)如下: 文件/版本 Interop.Excel.dll Interop.Office.dll Interop.VBIDE.dll 添加引用\COM組件 2000 V1.3.0.0 V2.1.0.0 V5.3.0.0 Microsoft Excel 9.0 Object Library(EXCEL9.OLB) 2002(XP) V1.4.0.0 V2.2.0.0 V5.3.0.0 Microsoft Excel 10.0 Object Library(Excel.EXE文件) 2003 V1.5.0.0 V2.3.0.0 V5.3.0.0 Microsoft Excel 11.0 Object Library(Excel.EXE文件
創(chuàng)新互聯(lián)主營江蘇網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),江蘇h5微信平臺小程序開發(fā)搭建,江蘇網(wǎng)站營銷推廣歡迎江蘇等地區(qū)企業(yè)咨詢
有3種方法:
1. 用.NET自己的封裝工具封裝(不太好用)
2. 網(wǎng)上找InstallShield封裝軟件(破解的不好找,也不太好用)
3. 最簡單的,網(wǎng)上搜SetupFactory 8, 非常好用,我就用他
你得意思是生成一個EXE文件吧?程序運(yùn)行以后在bin\debug目錄下面