Después de que ASP importa datos a Excel, ¿los caracteres chinos aparecen confusos? ? como resolver
Autor:Eve Cole
Fecha de actualización:2009-06-25 17:44:35
Pregunta: Después de que ASP importa datos a Excel, ¿el chino aparece confuso? ? como resolver
<!--#include file="función/connect.asp" -->
<!--#include file="función/función.asp" -->
<%
Respuesta.Charset = "UTF-8"
'El archivo incluido anteriormente es y para vincularlo a la base de datos, debe modificar este archivo para vincularlo a una biblioteca diferente.
sql1="select * from apply " 'Aquí está la declaración de consulta para generar EXCEL, como "SESECT * FORM CAI WHERE género='femenino'"
filename="excel4.xls" 'El nombre del archivo EXCEL que se generará, solo necesita cambiar las dos oraciones anteriores, no cambie nada más.
llamar a excel (NOMBRE DE ARCHIVO, sql1)
establecer conexión = nada
function ReadText(FileName) 'Esta es una función para leer archivos
'respuesta.escribir servidor.MapPath(Nombre de archivo)
'respuesta.end
establecer adf = servidor.CreateObject ("Adodb.Stream")
con adf
.Tipo=2
.Separador de línea = 10
.Abierto
.LoadFromFile (servidor.MapPath(NombreDeArchivo))
.Charset="GB2312"
.Posición=2
LeerTexto=.LeerTexto
.Cancelar()
.Cerca()
terminar con
establecer anuncios = nada
función final
sub SaveText(FileName,Data) 'Esta es una función para escribir archivos
establecer fs = crear objeto ("scripting.filesystemobject")
establecer ts = fs.createtextfile (servidor.MapPath (nombre de archivo), verdadero)
ts.writeline(datos)
ts.cerrar
conjuntos = nada
establecer fs = nada
sub final
sub toexcel(nombre de archivo,sql) 'Este es un archivo EXCEL generado en base a declaraciones SQL y NOMBRE DE ARCHIVO
Establecer rs=Server.CreateObject("ADODB.RecordSet")
'Respuesta.Escribir sql
'respuesta.end
rs.Abrir sql,objconn,1,1
TOEXCELLR="<ancho de tabla='100%'><tr >"
establecer mi campo = rs.campos
nombre de campo oscuro (50)
para i=0 a myfield.count-1
toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NOMBRE&"</td>"
nombre de campo(i)=micampo(i).nombre
si micampo(i).tipo=135 entonces nombrefecha=nombrefecha&micampo(i).nombre&",
próximo
toexcellr=toexcellr&"</tr>"
hacer mientras no rs.eof
toexcellr=toexcellr&"<tr>"
para i=0 a myfield.count-1
si instr(nombrefecha,nombrecampo(i)&",")<>0 entonces
si no es nulo (rs (nombre de campo (i))) entonces
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>"
demás
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'> </p></td>"
terminar si
demás
TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(nombre de campo(i))&"</td>"
terminar si
próximo
toexcellr=toexcellr&"</tr>"
rs.movenext
bucle
rs.cerrar
toexcellr=toexcellr&"</table>"
tou=leer texto("tou.txt")
di=leer texto("di.txt")
toexcellr=tou&toexcellr&di
llamar a savetext(nombre de archivo,toexcellr)
sub final
%>
<html>
<cabeza>
<meta http-equiv="refresh" content="3;URL=<%=nombredearchivo%>">
<meta http-equiv="Contenido-Idioma" content="en-us">
<meta http-equiv="Tipo de contenido" content="text/html; conjunto de caracteres=UTF-8">
<title>Generando archivo EXCEL</title>
</cabeza>
<CUERPO>
Generando archivo EXCEL....
</CUERPO>
</HTML>
respuesta:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM nombre de la biblioteca.dbo.apply donde género=femenino" consulta "excel4.xls" -c -q -S"nombre del servidor" -U"nombre de usuario" -P"contraseña"'
Utilicé este método para exportar a Excel sin caracteres confusos. Puedes probarlo, base de datos SQL.