После того, как asp импортирует данные в Excel, китайские иероглифы выглядят искаженными? ? как решить
Автор:Eve Cole
Время обновления:2009-06-25 17:44:35
Вопрос: После того, как 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 для вывода. Вам нужно изменить только два приведенных выше предложения, больше ничего не меняйте.
вызов Excel (ИМЯ ФАЙЛА, sql1)
установить соединение = ничего
function ReadText(FileName) 'Это функция для чтения файлов
'response.write server.MapPath(FileName)
'ответ.конец
set adf=server.CreateObject("Adodb.Stream")
с рекламой
.Тип=2
.LineSeparator=10
.Открыть
.LoadFromFile(server.MapPath(FileName))
.Charset="GB2312"
.Позиция=2
ЧитатьТекст=.ЧитатьТекст
.Отмена()
.Закрывать()
закончиться
установить рекламу = ничего
конечная функция
sub SaveText(FileName,Data) 'Это функция для записи файлов
set fs= createobject("scripting.filesystemobject")
set ts=fs.createtextfile(server.MapPath(FileName),true)
ts.writeline (данные)
ц.закрыть
настройки=ничего
установить фс=ничего
конец субтитра
sub toexcel(filename,sql) 'Это файл EXCEL, созданный на основе операторов SQL и FILENAME
Set rs=Server.CreateObject("ADODB.RecordSet")
'Ответ.Запись sql
'ответ.конец
rs.Open sql,objconn,1,1
TOEXCELLR="<ширина таблицы='100%'><tr >"
установите myfield=rs.fields
тусклое имя поля (50)
для i=0 в myfield.count-1
toexcellr=toexcellr&"<td class=xl24>"&МОЕПОЛЕ(I).ИМЯ&"</td>"
имя поля(i)=мое поле(i).имя
если myfield(i).type=135 then datename=datename&myfield(i).name&","
следующий
toexcellr=toexcellr&"</tr>"
делай, пока не rs.eof
toexcellr=toexcellr&"<tr>"
для i=0 в myfield.count-1
если instr(datename,fieldname(i)&",")<>0 тогда
если не isnull(rs(fieldname(i))), то
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'>"&formatdatetime(rs(fieldname(i)),2)&"</p></td>"
еще
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align='left'> </p></td>"
конец, если
еще
TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(имя поля(i))&"</td>"
конец, если
следующий
toexcellr=toexcellr&"</tr>"
rs.movenext
петля
RS.закрыть
toexcellr=toexcellr&"</table>"
tou=readtext("tou.txt")
di=readtext("di.txt")
toexcellr=tou&toexcellr&di
вызов savetext(имя файла,toexcellr)
конец субтитра
%>
<html>
<голова>
<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>
</голова>
<ТЕЛО>
Создание файла EXCEL....
</ТЕЛО>
</HTML>
отвечать:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM библиотеки name.dbo.apply, где пол=женский" queryout "excel4.xls" -c -q -S"имя сервера" -U"имя пользователя" -P"пароль"'
Я использовал этот метод для экспорта в Excel без искаженных символов. Вы можете попробовать базу данных sql.