Depois que o asp importa dados para o Excel, os caracteres chineses aparecem distorcidos? ? como resolver
Autor:Eve Cole
Data da Última Atualização:2009-06-25 17:44:35
Pergunta: Depois que o asp importa dados para o Excel, os chineses parecem distorcidos? ? como resolver
<!--#include file="function/connect.asp" -->
<!--#include file="function/function.asp" -->
<%
Resposta.Charset = "UTF-8"
'O arquivo incluído anteriormente é e para vincular ao banco de dados, você precisa modificar este arquivo para vincular a uma biblioteca diferente
sql1="select * from apply " 'Aqui está a instrução de consulta para saída do EXCEL, como "SESECT * FORM CAI WHERE gênero='feminino'"
filename="excel4.xls" 'O nome do arquivo EXCEL a ser gerado, você só precisa alterar as duas frases acima, não altere mais nada.
chame o Excel (FILENAME,sql1)
definir conn = nada
function ReadText(FileName) 'Esta é uma função para ler arquivos
'response.write server.MapPath (nome do arquivo)
'resposta.fim
definir adf=server.CreateObject("Adodb.Stream")
com ADF
.Tipo=2
.LineSeparator = 10
.Abrir
.LoadFromFile (servidor.MapPath (Nome do Arquivo))
.Charset="GB2312"
.Posição=2
ReadText=.ReadText
.Cancelar()
.Fechar()
terminar com
definir anúncios = nada
função final
sub SaveText(FileName,Data) 'Esta é uma função para escrever arquivos
set fs= createobject("scripting.filesystemobject")
definir ts=fs.createtextfile(server.MapPath(Nome do arquivo),true)
ts.writeline(dados)
ts.fechar
setts = nada
definir fs = nada
final sub
sub toexcel(filename,sql) 'Este é um arquivo EXCEL gerado com base em instruções SQL e FILENAME
Definir rs=Server.CreateObject("ADODB.RecordSet")
'Resposta.Write sql
'resposta.fim
rs.Open sql,objconn,1,1
TOEXCELLR="<largura da tabela='100%'><tr >"
definir meucampo=rs.fields
escurecer nome do campo (50)
para i=0 para myfield.count-1
toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NOME&"</td>"
nomedocampo(i)=meucampo(i).nome
se meucampo(i).type=135 então datename=datename&meucampo(i).name&","
próximo
toexcellr=toexcellr&"</tr>"
faça enquanto não rs.eof
toexcellr=toexcellr&"<tr>"
para i=0 para myfield.count-1
if instr(nomedadata,nomecampo(i)&",")<>0 então
se não for isnull(rs(fieldname(i))) então
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>"
outro
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'> </p></td>"
terminar se
outro
TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(nomedocampo(i))&"</td>"
terminar se
próximo
toexcellr=toexcellr&"</tr>"
rs.movnext
laço
rs.fechar
toexcellr=toexcellr&"</table>"
tou=readtext("tou.txt")
di=readtext("di.txt")
toexcellr=tou&toexcellr&di
chame savetext(nome do arquivo,toexcellr)
final sub
%>
<html>
<cabeça>
<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>Gerando arquivo EXCEL</title>
</head>
<CORPO>
Gerando arquivo EXCEL....
</BODY>
</HTML>
responder:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM nome da biblioteca.dbo.apply onde gênero = feminino" consulta "excel4.xls" -c -q -S"nome do servidor" -U"nome de usuário" -P"senha"'
Usei esse método para exportar para Excel sem caracteres ilegíveis. Você pode tentar, banco de dados sql.