asp将数据导入excel后,中文出现乱码??怎么解决
- 作者:互联网
- 时间:2009-06-25 17:44:35
问:asp将数据导入excel后,中文出现乱码??怎么解决
<%
Re***nse.Charset = "UTF-8"
'前面包含的文件是和来链接到数据库,你要修改这个文件以链接到不同的库
sql1="select * from apply " '这里是要输出EXCEL的查询语句,如 "SESECT * FORM CAI WHERE 性别='女'"
filename="ex***4.xls" ' 要输出的EXCEL文件的文件名, 你只要改以上两句就行了,其它的都不要改.
call toexcel(FILENAME,sql1)
set conn=nothing
function ReadText(FileName) '这是一个用于读出文件的函数
're***nse.write se***r.MapPath(FileName)
're***nse.end
set ad***erver.CreateObject("Ad***.Stream")
with adf
.Type=2
.LineSeparator=10
.Open
.LoadFromFile (se***r.MapPath(FileName))
.Charset="GB2312"
.Position=2
Re***ext=.ReadText
.Cancel()
.Close()
end with
set ads=nothing
end function
sub SaveText(FileName,Data) '这是一个用于写文件的函数
set fs= createobject("sc***ting.filesystemobject")
set ts***.createtextfile(se***r.MapPath(FileName),true)
ts***iteline(data)
ts***ose
set ts=nothing
set fs=nothing
end sub
sub toexcel(filename,sql) '这是一个根据SQL语句和FILENAME生成EXCEL文件
Set rs***rver.CreateObject("AD***.RecordSet")
'Re***nse.Write sql
're***nse.end
rs***en sql,objconn,1,1
TOEXCELLR=""
set my***ld=rs.fields
dim fieldname(50)
for i=0 to my***ld.count-1
toexcellr=toexcellr&""&MYFIELD(I).NAME&" | "
fieldname(i)=myfield(i).name
if myfield(i).type=135 then datename=datename&myfield(i).name&","
next
toexcellr=toexcellr&"
"
do while not rs***f
toexcellr=toexcellr&""
for i=0 to my***ld.count-1
if instr(datename,fieldname(i)&",")<>0 then
if not isnull(rs(fieldname(i))) then
TOEXCELLR=TOEXCELLR&""&formatdatetime(rs(fieldname(i)),2)&" | "
else
TOEXCELLR=TOEXCELLR&" | "
end if
else
TOEXCELLR=TOEXCELLR&""&rs(fieldname(i))&" | "
end if
next
toexcellr=toexcellr&"
"
rs***venext
loop
rs***ose
toexcellr=toexcellr&"
"
tou=readtext("tou.txt")
di=readtext("di.txt")
toexcellr=tou&toexcellr&di
call savetext(filename,toexcellr)
end sub
%>
正在生成EXCEL文件
正在生成EXCEL文件..***nbsp;
答:
EXEC ma***r..xp_cmdshell 'bcp "SELECT * FROM 库名.d***apply where 性别=女" queryout "ex***4.xls" -c -q -S"服务器名" -U"用户名" -P"密码"'
我用这种方法导出到excel没有出现乱码,你试下吧,sql数据库