Asp如何讀取批量導(dǎo)入的excel數(shù)據(jù)
發(fā)表日期:2019-09-17 02:14:36?? 文章編輯:admin ?? 瀏覽次數(shù):353
宜興做網(wǎng)站開發(fā)的小伙伴經(jīng)常都知道,很多時候我們的客戶資料都存在excel里。他們都想一健導(dǎo)入數(shù)據(jù)的功能,讓我們開發(fā)一個小程序可以直接將excel里的數(shù)據(jù)直接導(dǎo)入到數(shù)據(jù)庫里面去。下面就來簡介下asp如何將excel數(shù)據(jù)導(dǎo)入到access數(shù)據(jù)庫,然后再讀出批量存入accessl的數(shù)據(jù)怎么實現(xiàn)的呢?
asp如何連接excel
Set connnew = Server.CreateObject("ADODB.Connection")
(新創(chuàng)建一個數(shù)據(jù)庫連接)
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(“test.xls”)&";Extended Properties='Excel 8.0;HDR=No;IMEX=1';"
(以上語句說明:采用這個引擎可以打開Provider=Microsoft.ACE.OLEDB.12.0;Data Source= 來讀取access 2003,2007版本,'HDR取值yes,no ,表示第一行是否為字段名)
(以上語句說明:采用這個引擎可以打開Provider=Microsoft.ACE.OLEDB.12.0;Data Source= 來讀取access 2003,2007版本,'HDR取值yes,no ,表示第一行是否為字段名)
connnew.open connstr
Set rsnew=Server.CreateObject("ADODB.Recordset")
'Sheet1為excel里面的表名,表名后面一定要加$
sqlnew = "select * from [Sheet1$]"
rsnew.open sqlnew,connnew,1,1
'以下rows是讀取的excel里面數(shù)據(jù)的行數(shù)
rows=rsnew.recordcount
'以下cells是讀取excel里面數(shù)據(jù)的列數(shù)
cells=rsnew.Fields.Count
輸出記錄集rsnew里面的數(shù)據(jù),規(guī)則是這樣的:
如果HDR賦值是No的話
rsnew(0)輸出的是excel里第一行第一列的內(nèi)容
如果HDR賦值是Yes的話
rsnew(0)輸出的是excel里第二行第一列的內(nèi)容
如果想輸出第二行的內(nèi)容,只需在語句前加rsnew.movenext
輸出就這么簡單的完成了!
連接網(wǎng)站數(shù)據(jù)庫,相信各位程序猿都已經(jīng)會了。要做的就是用sql語句判斷要導(dǎo)入的數(shù)據(jù)是否存在,存在用update修改一下。不存在的話addnew重新插入一條即可。
如果想要實現(xiàn)上傳excel后導(dǎo)入的話,可以加上一個上傳程序,將上傳后的excel路徑傳輸?shù)絘sp連接excel的字符串里面。
asp讀取excel并導(dǎo)入數(shù)據(jù)庫就完成了!
注意事項
注意excel里的表名是不是Sheet1.不是話注意和程序保持一致
程序只適合固定模板excel使用。如果excel格式不同,無法使用這個程序統(tǒng)一導(dǎo)入。
標(biāo)簽: Asp,Asp批量導(dǎo)入excel
如沒特殊注明,文章均為宜興博路網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://m.mabhome.com/news/changjianwenti/2019/0917/208.html
