操作背景: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目錄,運行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目錄,直接運行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)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安陽縣,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
用Directory.CreateDirectory即可創(chuàng)建文件夾:
'?建立目錄
If?Not?Directory.Exists("C:\負(fù)屃\"??TextBox1.Text)?Then?'檢查文件夾是否存在
Directory.CreateDirectory("C:\負(fù)屃\"??TextBox1.Text)??'不存在,創(chuàng)建文件建夾
End?If
你的例子是因為少了一個"\"引起的,正確的如下:
Dim?fsotest?As?New?FileSystemObject
If?fsotest.FileExists("C:\負(fù)屃\"??TextBox1.Text)?=?False?Then
fsotest.CreateFolder("C:\負(fù)屃\"??TextBox1.Text) '這里你少了一個\
End?If
MsgBox("創(chuàng)建成功")
兩個方法:
1、Visual Studio,新建項目,最后一個類別就是封裝程序用的
我說的是左邊的大類(VB.net,C#,J#那些的最后一個),不是右邊的子類
2、LS說的方法雖然可以,但是一般不是用debug,要用release版本!調(diào)試程序的地方會有debug,release兩個選擇,正式使用要用release!
但是LZ要注意,dotNet開發(fā)的程序,離開了FrameWork就基本不能運行,所以你拿到別的機器用,先確認(rèn)安裝了Framework!如果你用第一種方法,那么會自動監(jiān)測系統(tǒng)是不是裝了Framework;第二種方法的話,沒有Framework程序是直接報錯!
有3種方法:
1. 用.NET自己的封裝工具封裝(不太好用)
2. 網(wǎng)上找InstallShield封裝軟件(破解的不好找,也不太好用)
3. 最簡單的,網(wǎng)上搜SetupFactory 8, 非常好用,我就用他
'''?summary
'''?封裝后的方法
'''?/summary
'''?param?name="str"傳入?yún)?shù)/param
'''?returns/returns
Public?Function?z(ByVal?str?As?String)
Dim?zz?As?String?=?Nothing
Dim?reg?As?New?Regex("Found?valid?key:\[ffffffffffff\][\d\D]*?--sector:\s*(\d+)")
Dim?m?As?Match?=?reg.Match(str)
If?m.Success?Then
zz?=?m.Groups(1).ToString
End?If
Return?zz
End?Function
''調(diào)用示例
Dim?zz?As?String?=?z(Form1.prompt.Text)