بعد قيام ASP باستيراد البيانات إلى Excel، تظهر الأحرف الصينية مشوهة؟ ؟ كيفية حل
الكاتب:Eve Cole
وقت التحديث:2009-06-25 17:44:35
سؤال: بعد استيراد البيانات إلى برنامج Excel، هل يبدو الصينيون مشوشين؟ ؟ كيفية حل
<!--#include file="function/connect.asp" -->
<!--#include file="function/function.asp" -->
<%
Response.Charset = "UTF-8"
'الملف المدرج سابقًا هو، وللارتباط بقاعدة البيانات، تحتاج إلى تعديل هذا الملف للارتباط بمكتبة مختلفة
sql1="select * from application " 'إليك عبارة الاستعلام لإخراج EXCEL، مثل "SESECT * FORM CAI WHERE Gender='female'"
filename="excel4.xls" 'اسم ملف EXCEL المراد إخراجه، ما عليك سوى تغيير الجملتين أعلاه، ولا تغير أي شيء آخر.
الاتصال بـ Excel (FILENAME، sql1)
تعيين كون = لا شيء
وظيفة ReadText(FileName) 'هذه وظيفة لقراءة الملفات
'response.write server.MapPath(اسم الملف)
"الاستجابة. نهاية."
تعيين adf=server.CreateObject("Adodb.Stream")
مع قوات الدفاع
.النوع=2
.فاصل الخط = 10
.يفتح
.LoadFromFile (server.MapPath(FileName))
مجموعة الأحرف = "GB2312"
.الموقف=2
ReadText=.ReadText
.يلغي()
.يغلق()
تنتهي ب
تعيين الإعلانات = لا شيء
وظيفة النهاية
sub SaveText(FileName,Data) 'هذه وظيفة لكتابة الملفات
مجموعة fs= createobject("scripting.filesystemobject")
تعيين ts=fs.createtextfile(server.MapPath(FileName),true)
ts.writeline (البيانات)
ts.إغلاق
يستقر = لا شيء
تعيين خ = لا شيء
النهاية الفرعية
sub toexcel(filename,sql) 'هذا ملف EXCEL تم إنشاؤه بناءً على عبارات SQL وFILENAME
تعيين 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>"&MYFIELD(I).NAME&"</td>"
اسم الحقل(i)=myfield(i).name
إذا myfield(i).type=135 ثم datename=datename&myfield(i).name&"،
التالي
toexcellr=toexcellr&"</tr>"
تفعل في حين لا rs.eof
toexcellr=toexcellr&"<tr>"
لـ i=0 إلى myfield.count-1
إذا كان instr (اسم التاريخ، اسم الحقل (i) & ")، <> 0 ثم
إذا لم يكن فارغًا (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(fieldname(i))&"</td>"
نهاية إذا
التالي
toexcellr=toexcellr&"</tr>"
rs.movenext
حلقة
rs. Close
toexcellr=toexcellr&"</table>"
tou=readtext("tou.txt")
دي=readtext("di.txt")
toexcellr=tou&toexcellr&di
استدعاء savetext(اسم الملف،toexcellr)
النهاية الفرعية
%>
<أتش تي أم أل>
<الرأس>
<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 Library name.dbo.apply Where Gender=female" queryout "excel4.xls" -c -q -S"server name" -U"username" -P"password"'
لقد استخدمت هذه الطريقة للتصدير إلى Excel بدون أحرف مشوهة، يمكنك تجربتها، قاعدة بيانات SQL