asp導(dǎo)出為csv格式
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
csv格式由于體積小,便于生成和導(dǎo)出導(dǎo)入,而且跟excel兼容性好,所以很多b/s程序最終導(dǎo)出方案都選擇了csv,這個(gè)代碼就是要實(shí)現(xiàn)這個(gè)功能的一個(gè)小過程。[br][br]strsql 要導(dǎo)出的sql查詢語句[br]strfields 字段名稱列表,如果為空字符,則使用sql語句中的字段名[br][br]用法示例:[br]strsql=“select * from table1”[br]strsql=“select id,name,age from employees&strfields =編號(hào),姓名,年齡"[br][br]export.asp[br][br]
程序代碼 <% [br]response.buffer = true[br]response.addheader "content-disposition","attachment;filename=exportdata.csv;" [br]response.charset = "bg2312" [br]response.contenttype = "application/octet-stream" [br][br]dim dbname,conn[br]dbname="data/epm.mdb" '定義數(shù)據(jù)庫路徑及名稱[br]set conn = server.createobject("adodb.connection")[br]conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(dbname)[br][br]dim strsql,strfields[br]dim rst[br]dim i[br][br]strsql=request("strsql")[br]strsql=replace(strsql,"%","%") '解決%號(hào)丟失問題, 參數(shù)中把%變成全角的,不然全丟失[br]strsql=replace(strsql,"#","#") '解決#號(hào)丟失問題[br]strfields=request("strfields")[br][br]'response.write(strsql &vbcrlf)[br][br]set rst = conn.execute(strsql)[br][br]if rst.eof then [br]response.write("沒有可導(dǎo)出數(shù)據(jù)!")[br]response.end[br]end if [br][br]if len(strfields)>0 then[br]response.write replace(strfields,"id","id") '防止出現(xiàn)sylk文件打開提示[br]else[br]for i =0 to rst.fields.count-1[br]'strfields=strfields &rst.fields(i).name & ","[br]'防止出現(xiàn)sylk文件打開提示[br]'以id(大寫)內(nèi)容開頭的文件[br]strfields=strfields & replace(rst.fields(i).name,"id","id") & "," [br]next [br]strfields=left(strfields,len(strfields)-1)[br]response.write(strfields)[br]end if[br][br]response.write(vbcrlf)[br][br]response.write(rst.getstring(,,","))[br][br]%>[br][br]1、如果字段里面帶雙引號(hào)需要用 chr(34) 包括起來[br][br]2、字段里面有html代碼的話 需要用replace(str,vbcrlf,"") 替換掉 字段里面 vbcrlf 代碼 該文章在 2010/7/22 21:51:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |