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