解決ASP匯出查詢結果到Excel中的身分證號問題
作者:Eve Cole
更新時間:2009-06-23 17:01:06
近日在用asp把access資料庫的查詢結果匯出為excel檔案時,出現一點問題,因為有一個欄位是身分證號碼,在匯出的excel檔案中,所有身分證號後3位全部變成0了!真是鬱悶啊!網路上查了一下才知道是excel預設的數字格式是"常規",只能正常顯示輸入的11位數字,超過11位就用科學記數法顯示了。
為了解決這個問題,我只能把查詢的數據標識成文字型數據,以下是部分代碼:
<%
'匯出到excel
set rs = server.createobject("adodb.recordset")
sqlstr="select * from tabname where"&searhsql '查詢語句
rs.open sqlstr,oconn,1,3
%>
<%set fs = server.createobject("script_ing.filesystemobject")
'存放文件
filename="info.xls"
temp=filename
filename=request.servervariables("appl_physical_path")&"\"+filename
'刪除存在的excel文件
'if fs.fileexists(filename) then
'fs.deletefile(filename)
'end if
'-建立excel文件
set myfile = fs.createtextfile(filename,true)
dim strline,responsestr
strline=""
for each x in rs.fields
strline= strline & x.name & chr(9)
next
'將表格的列名先寫入excel
myfile.writeline strline
while not rs.eof
strline=""
for each x in rs.fields
'這裡把資料標識成文字類型
strline= strline & "="""&x.value &""""& chr(9)
next
'將表格的資料寫入excel
myfile.writeline strline
rs.movenext
wend
link="<a href=\" & temp & " title=儲存資料至eecel表><font color=red><b>匯出excel檔案</b></font></a> "
response.write link
set myfile = nothing
set fs=nothing
rs.close
%>
實例原始碼下載: http://code.knowsky.com/down/12254.html