数据库导出xml、htm、csv、sql
来源:互联网 发布:海文网络计划视频教程 编辑:程序博客网 时间:2024/04/29 17:44
<%
'数据库导出记录代码
'作者海娃,haiwa#blueidea.com,http://www.51windows.Net
'用法:
'ExportDB.asp?sql=select语句&tablename=表名(可选)&filetype=导出格式(xml,htm,csv,sql)&pid=自动编号字段名(仅当导出sql类型时有用)
dim tablename,filetype,fieldPid
sql???= request("sql")
tablename?= request("tablename")
filetype?= lcase(request("filetype"))
fieldPid?= request("pid")
if fieldPid = "" then
?fieldPid = "id"
end if
fieldPid = lcase(fieldPid)
if lcase(left(sql,6))<>"select" then
?Response.write "sql语句必须为select * from [table] where ......."
?Response.end
end if
if tablename = "" then
?tablename = "数据导出结果"
end if
function HTMLEncode(fString)
?if not isnull(fString) then
??fString = Server.HTMLEncode(fString)
??fString = Replace(fString, CHR(10) & CHR(10), "
")
??fString = Replace(fString, CHR(10), "
")
??fString = Replace(fString, CHR(9), " ")
??HTMLEncode = fString
?end if
end function
function Myreplace(str)
?if not isnull(str) then
??fString = Replace(fString,"""", """""")
??Myreplace = str
?else
??Myreplace = ""
?end if
end function
function Myreplace2(str)
?if not isnull(str) then
??fString = Replace(fString,"'", "''")
??Myreplace2 = str
?else
??Myreplace2 = ""
?end if
end function
dim def_export_sep,def_export_val
def_export_sep = ","
def_export_val = """"
Set rs = Conn.Execute(sql)
'导出XML文件
if filetype="xml" then
?Response.contenttype="text/xml"
?Response.Charset = "gb2312"
?Response.AddHeader "Content-Disposition", "attachment;filename="&tablename&".xml"
?Response.write "" & vbnewline
?Response.write "
?strLine=""
?dim thefield(50)
?i = 0
?For? each? x? in? rs.fields
??thefield(i)=x.name
??i=i+1
?Next
?While rs.EOF =false
?strLine= vbnewline&chr(9)&"
?k=0
?For? each? x? in? rs.fields
??strLine=? strLine & vbnewline&chr(9)&chr(9)&"<"&thefield(k)&">"
??if instr(x.value,"<")>0 or instr(x.value,">")>0 or instr(x.value,"&")>0 or len(x.value)>255 then
???strLine=? strLine &""
??else
???strLine=? strLine & x.value
??end if
??strLine=? strLine &""&thefield(k)&">"
??k=k+1
?Next
?rs.MoveNext
?Response.write strLine &vbnewline& chr(9)&"
?Wend
Response.write vbnewline&"
'导出sql文件
elseif filetype="sql" then
?Response.contenttype="text/sql"
?Response.AddHeader "Content-Disposition", "attachment;filename="&tablename&".sql"
?strLine=""
?dim sql_insert
?For? each? x? in? rs.fields
??if lcase(x.name)<>fieldPid then?'如果是自动编号
???strLine=? strLine? & def_export_val &? x.name & def_export_val & def_export_sep
??end if
?Next
?strLine = replace(left(strLine,len(strLine)-1),"""","")
?strLine = "insert into ["&tablename&"] (" & strLine & ") values "
?sql_insert = strLine
?'Response.write strLine & vbnewline
?'response.end
?While rs.EOF =false
?strLine= ""
?def_export_val = "'"
?For? each? x? in? rs.fields
??if lcase(x.name)<>fieldPid then
???'2004-8-11更新 Null值时无法导出的bug。
???x_value = x.value
???if isnull(x_value) or len(x_value) = 0 then
????x_value = ""
???else
????x_value = replace(x_value,"'","''")
???end if
???strLine=? strLine & def_export_val & x_value & def_export_val & def_export_sep
??end if
?Next
?rs.MoveNext
?strLine = left(strLine,len(strLine)-1)
?Response.write sql_insert & "("& strLine &")*" & vbnewline
?Wend
elseif filetype="csv" then
?Response.contenttype="text/csv"
?Response.AddHeader "Content-Disposition", "attachment;filename="&tablename&".csv"
?strLine=""
?For? each? x? in? rs.fields
??strLine=? strLine? & def_export_val &? x.name & def_export_val & def_export_sep
?Next
?Response.write strLine & vbnewline
?While rs.EOF =false
??strLine= ""
??For? each? x? in? rs.fields
???strLine=? strLine & def_export_val & Myreplace(x.value) & def_export_val & def_export_sep
??Next
??rs.MoveNext
??Response.write strLine & vbnewline
?Wend
else
?if filetype="htm" then'弹出下载html的对话框
??Response.contenttype="application/ms-download"
??Response.AddHeader "Content-Disposition", "attachment;filename="&tablename&".htm"
?end if
%>
?
<%
i=0
?For? each? x? in? rs.fields?
??strLine=? strLine? &chr(9)&chr(9)&"
?Next
?Response.write strLine&chr(9)&""& vbnewline & vbnewline
?While rs.EOF =false
??i=i+1
??Response.write chr(9)&""& vbnewline
??strLine= ""
??For? each? x? in? rs.fields
???strLine=? strLine? &chr(9)&chr(9)&""&? HTMLEncode(x.value) &""& vbnewline
??Next
??rs.MoveNext
??Response.write strLine
??Response.write chr(9)&""& vbnewline & vbnewline
?Wend
Response.write ""& vbnewline
if filetype<>"htm" and filetype<>"xls" and filetype<>"sql" then
Response.write "
"&i&"条记录 导出HTML"
Response.write "|导出EXCEL"
Response.write "|导出XML"
Response.write "|导出SQL"& vbnewline
end if
Response.write "
Power by http://www.51windows.Net"" target=""_blank"">51windows.Net"& vbnewline
Response.write "
Response.write ""& vbnewline
Response.write ""& vbnewline
end if
rs.close
conn.close
Set rs=nothing
Set conn=nothing
%>
- 数据库导出xml、htm、csv、sql
- 数据库导出xml、htm、csv、sql
- 数据库导出xml、htm、csv、sql代码
- 数据库导出xml、htm、csv、sql代码
- SQL导出CSV
- MySql数据库导出csv
- 数据库CSV导出
- MySql数据库导出csv
- mysql SQL文导出CSV
- java数据库csv文件导出
- PHP CSV导入导出数据库
- MySql数据库导出csv文件
- JS导出excel、doc、png、pdf 、xml、json、sql、txt、powerpoint、csv
- Table表格导出为Excel、csv、txt、sql、json、xml、Word格式
- 导出 Silverlight DataGrid to Excel XML/CSV
- PL/SQL Developer 导入导出csv文件
- PL/SQL developer 导出CSV文件
- 指定SQL文本导出CSV文件
- 当他不再爱你的时候
- 批量反编译java类文件
- [转]在网页中动态的生成一个gif图片
- Command 命令集
- 电脑坏了
- 数据库导出xml、htm、csv、sql
- 娶老婆的15条金科玉律
- 系统测试软件的收集整理
- 生活哲理小故事系列(转贴)
- 系统测试工具
- Asp.net页面输出到EXCEL (转)
- OpenSource 谁来给我介绍介绍经验
- 在JBuilder中須如何得其JNDI
- .net无法新建Web项目