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 " '「SESECT * FORM CAI WHERE 性別='女性'」などのEXCELを出力するクエリ文です。
filename="excel4.xls" '出力するEXCELファイルのファイル名です。上記2文のみ変更する必要があり、他は何も変更しません。
call toexcel(ファイル名,sql1)
conn=何も設定しない
function ReadText(FileName) 'これはファイルを読み取るための関数です
'response.write サーバー.MapPath(ファイル名)
'応答.終了
set adf=server.CreateObject("Adodb.Stream")
ADF付き
.Type=2
.LineSeparator=10
。開ける
.LoadFromFile (server.MapPath(FileName))
.Charset="GB2312"
.Position=2
ReadText=.ReadText
。キャンセル()
。近い()
で終わる
広告=なしを設定します
終了関数
sub SaveText(FileName,Data) 'これはファイルを書き込むための関数です
set fs= createobject("scripting.filesystemobject")
set ts=fs.createtextfile(server.MapPath(ファイル名),true)
ts.writeline(データ)
ts.close
セット=何もない
fs=何も設定しない
エンドサブ
sub toexcel(filename,sql) 'これはSQL文とFILENAMEに基づいて生成されたEXCELファイルです
Set rs=Server.CreateObject("ADODB.RecordSet")
'応答.SQL の書き込み
'応答.終了
rs.Open SQL、objconn、1、1
TOEXCELLR="<テーブル幅='100%'><tr >"
set myfield=rs.fields
dim フィールド名(50)
for i=0 から myfield.count-1
toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NAME&"</td>"
フィールド名(i)=私のフィールド(i).name
myfield(i).type=135 の場合、datename=datename&myfield(i).name&","
次
toexcellr=toexcellr&"</tr>"
rs.eof ではないときに実行します
toexcellr=toexcellr&"<tr>"
for i=0 から myfield.count-1
if instr(日付名,フィールド名(i)&",")<>0 then
そうでない場合は null(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.close
toexcellr=toexcellr&"</table>"
tou=readtext("tou.txt")
di=readtext("di.txt")
toexcellr=to&toexcellr&di
savetext(ファイル名,toexcelr)を呼び出します
エンドサブ
%>
<html>
<頭>
<meta http-equiv="refresh" content="3;URL=<%=filename%>">
<meta http-equiv="コンテンツ言語" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EXCEL ファイルの生成</title>
</head>
<本体>
EXCELファイルを生成中....
</BODY>
</HTML>
答え:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM ライブラリ名.dbo.apply where 性別=女性" queryout "excel4.xls" -c -q -S"サーバー名" -U"ユーザー名" -P"パスワード"'
この方法を使って文字化けせずにExcelにエクスポートできました。試してみてください。SQLデータベース。