asp将数据导入excel后,中文出现乱码??怎么解决

王朝asp·作者佚名  2008-08-07
宽屏版  字体: |||超大  

问:asp将数据导入excel后,中文出现乱码??怎么解决

<!--#include file="function/connect.asp" -->

<!--#include file="function/function.asp" -->

<%

Response.Charset = "UTF-8"

'前面包含的文件是和来链接到数据库,你要修改这个文件以链接到不同的库

sql1="select * from apply " '这里是要输出EXCEL的查询语句,如 "SESECT * FORM CAI WHERE 性别='女'"

filename="excel4.xls" ' 要输出的EXCEL文件的文件名, 你只要改以上两句就行了,其它的都不要改.

call toexcel(FILENAME,sql1)

set conn=nothing

function ReadText(FileName) '这是一个用于读出文件的函数

'response.write server.MapPath(FileName)

'response.end

set adf=server.CreateObject("Adodb.Stream")

with adf

.Type=2

.LineSeparator=10

.Open

.LoadFromFile (server.MapPath(FileName))

.Charset="GB2312"

.Position=2

ReadText=.ReadText

.Cancel()

.Close()

end with

set ads=nothing

end function

sub SaveText(FileName,Data) '这是一个用于写文件的函数

set fs= createobject("scripting.filesystemobject")

set ts=fs.createtextfile(server.MapPath(FileName),true)

ts.writeline(data)

ts.close

set ts=nothing

set fs=nothing

end sub

sub toexcel(filename,sql) '这是一个根据SQL语句和FILENAME生成EXCEL文件

Set rs=Server.CreateObject("ADODB.RecordSet")

'Response.Write sql

'response.end

rs.Open sql,objconn,1,1

TOEXCELLR="<table width='100%'><tr >"

set myfield=rs.fields

dim fieldname(50)

for i=0 to myfield.count-1

toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NAME&"</td>"

fieldname(i)=myfield(i).name

if myfield(i).type=135 then datename=datename&myfield(i).name&","

next

toexcellr=toexcellr&"</tr>"

do while not rs.eof

toexcellr=toexcellr&"<tr>"

for i=0 to myfield.count-1

if instr(datename,fieldname(i)&",")<>0 then

if not isnull(rs(fieldname(i))) then

TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>"

else

TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'></p></td>"

end if

else

TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(fieldname(i))&"</td>"

end if

next

toexcellr=toexcellr&"</tr>"

rs.movenext

loop

rs.close

toexcellr=toexcellr&"</table>"

tou=readtext("tou.txt")

di=readtext("di.txt")

toexcellr=tou&toexcellr&di

call savetext(filename,toexcellr)

end sub

%>

<html>

<head>

<meta http-equiv="refresh" content="3;URL=<%=filename%>">

<meta http-equiv="Content-Language" content="en-us">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>正在生成EXCEL文件</title>

</head>

<BODY>

正在生成EXCEL文件....

</BODY>

</HTML>

答:

EXEC master..xp_cmdshell 'bcp "SELECT * FROM 库名.dbo.apply where 性别=女" queryout "excel4.xls" -c -q -S"服务器名" -U"用户名" -P"密码"'

我用这种方法导出到excel没有出现乱码,你试下吧,sql数据库

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有