- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > ASP >
- asp中把數據導出為excel的2種方法
我們在做項目的時(shí)候經(jīng)常要將數據庫的數據導出到excel中,很多asp用戶(hù)并不知道怎么寫(xiě)。
這里明凱總結了兩種方法來(lái)導出excel,希望能幫到大家。
方法一:用excel組件
< % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Application") ExcelApp.Application.Visible = True Set ExcelBook = ExcelApp.Workbooks.Add ExcelBook.WorkSheets(1).cells(1,1).value ="用戶(hù)表" ExcelBook.WorkSheets(1).cells(2,1).value = "用戶(hù)編號" ExcelBook.WorkSheets(1).cells(2,2).value = "登陸名" ExcelBook.WorkSheets(1).cells(2,3).value = "真實(shí)姓名" ExcelBook.WorkSheets(1).cells(2,4).value = "密碼" cnt =3 do while not rs.eof ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid") ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province") ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag") ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id") rs.movenext cnt = cint(cnt) + 1 loop Excelbook.SaveAs "d:\yourfile.xls" '這個(gè)是數據導出完畢以后在D盤(pán)存成文件 ExcelApp.Application.Quit '導出以后退出Excel Set ExcelApp = Nothing '注銷(xiāo)Excel對象 %>< % set rs=server.createobject("adodb.recordset") sql="select * from mkusers" rs.open sql,objconn,1,1 Set ExcelApp =CreateObject("Excel.Application") ExcelApp.Application.Visible = True Set ExcelBook = ExcelApp.Workbooks.Add ExcelBook.WorkSheets(1).cells(1,1).value ="用戶(hù)表" ExcelBook.WorkSheets(1).cells(2,1).value = "用戶(hù)編號" ExcelBook.WorkSheets(1).cells(2,2).value = "登陸名" ExcelBook.WorkSheets(1).cells(2,3).value = "真實(shí)姓名" ExcelBook.WorkSheets(1).cells(2,4).value = "密碼" cnt =3 do while not rs.eof ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid") ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province") ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag") ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id") rs.movenext cnt = cint(cnt) + 1 loop Excelbook.SaveAs "d:\yourfile.xls" '這個(gè)是數據導出完畢以后在D盤(pán)存成文件 ExcelApp.Application.Quit '導出以后退出Excel Set ExcelApp = Nothing '注銷(xiāo)Excel對象 %>
方法二:使用文件組件
< % dim s,sql,filename,fs,myfile,x Set fs = server.CreateObject("scripting.filesystemobject") '--假設你想讓生成的EXCEL文件做如下的存放 filename = Server.MapPath("order.xls") '--如果原來(lái)的EXCEL文件存在的話(huà)刪除它 if fs.FileExists(filename) then fs.DeleteFile(filename) end if '--創(chuàng )建EXCEL文件 set myfile = fs.CreateTextFile(filename,true) StartTime = Request("StartTime") EndTime = Request("EndTime") StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#" strSql = "select * from mksuers " Set rstData =conn.execute(strSql) if not rstData.EOF and not rstData.BOF then dim trLine,responsestr strLine="" For each x in rstData.fields strLine = strLine & x.name & chr(9) Next '--將表的列名先寫(xiě)入EXCEL myfile.writeline strLine Do while Not rstData.EOF strLine="" for each x in rstData.Fields strLine = strLine & x.value & chr(9) next myfile.writeline strLine rstData.MoveNext loop end if Response.Write "生成EXCEL文件成功,點(diǎn)擊<a href="/" rel="external nofollow" order.xls"" target=""_blank"">下載!" rstData.Close set rstData = nothing Conn.Close Set Conn = nothing %>
可以看出,第一種方法是直接導出的是excel文件,而第二張方法是到處的是文本文件,只不過(guò)后綴名改成了xls。
然后看起來(lái)就是excel了。
經(jīng)過(guò)對比第一種方法的效率沒(méi)有第二種方法的效率高,而且也不好控制。
推薦大家使用第二種寫(xiě)文件的方法來(lái)進(jìn)行excel操作。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站