แก้ไขปัญหาของ ASP ที่ส่งออกผลลัพธ์แบบสอบถามไปยังหมายเลข ID ใน Excel
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-06-23 17:01:06
ล่าสุดเมื่อใช้ asp เพื่อส่งออกผลลัพธ์การสืบค้นของฐานข้อมูลการเข้าถึงไปยังไฟล์ Excel เกิดปัญหาขึ้นเนื่องจากฟิลด์หนึ่งคือหมายเลข ID ในไฟล์ Excel ที่ส่งออก ตัวเลขสามหลักสุดท้ายของหมายเลข ID ทั้งหมดกลายเป็น 0! น่าหดหู่ใจ! หลังจากตรวจสอบออนไลน์แล้วพบว่ารูปแบบตัวเลขเริ่มต้นของ Excel คือ "ปกติ" ซึ่งปกติสามารถแสดงตัวเลขที่ป้อนได้ 11 หลักเท่านั้น หากตัวเลขเกิน 11 หลักก็จะแสดงในรูปแบบทางวิทยาศาสตร์
เพื่อแก้ไขปัญหานี้ ฉันสามารถทำเครื่องหมายข้อมูลแบบสอบถามเป็นข้อมูลข้อความเท่านั้น ต่อไปนี้เป็นส่วนหนึ่งของโค้ด:
-
'ส่งออกไปยัง Excel
ตั้ง rs = server.createobject ("adodb.recordset")
sqlstr="select * from tabname โดยที่"&searhsql 'คำสั่งสืบค้น
rs.open sqlstr,oconn,1,3
-
<%set fs = server.createobject("script_ing.filesystemobject")
'บันทึกไฟล์
ชื่อไฟล์ = "info.xls"
temp=ชื่อไฟล์
filename=request.servervariables("appl_physical_path")&"\"+ชื่อไฟล์
'ลบไฟล์ Excel ที่มีอยู่
'ถ้า fs.fileexists (ชื่อไฟล์) แล้ว
'fs.deletefile(ชื่อไฟล์)
'จบถ้า
'- สร้างไฟล์ Excel
ตั้งค่า myfile = fs.createtextfile (ชื่อไฟล์, จริง)
strline สลัว,responsestr
strline=""
สำหรับแต่ละ x ใน rs.fields
strline= strline & x.name & chr (9)
ต่อไป
'เขียนชื่อคอลัมน์ของตารางเพื่อให้ Excel ก่อน
myfile.writeline strline
ในขณะที่ไม่ใช่ rs.eof
strline=""
สำหรับแต่ละ x ใน rs.fields
'ที่นี่ข้อมูลถูกทำเครื่องหมายเป็นประเภทข้อความ
strline= strline & "="""&x.value &""""& chr(9)
ต่อไป
'เขียนข้อมูลตารางลงใน Excel
myfile.writeline strline
rs.movenext
เวน
link="<a href=\" & temp & " title=บันทึกข้อมูลลงในตาราง eecel><font color=red><b>ส่งออกไฟล์ Excel</b></font></a> "
ตอบกลับเขียนลิงค์
ตั้งค่า myfile = ไม่มีอะไร
ตั้งค่า fs=ไม่มีอะไร
฿.ปิด
-
ตัวอย่างการดาวน์โหลดซอร์สโค้ด: http://code.knowsky.com/down/12254.html