解决ASP导出查询结果到Excel中的身份证号问题

发布时间:2008-6-21 22:08:47文章来源:佚名浏览次数:
选择您适合观看的字体大小:  
近日在用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")&"&#92;"+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=&#92;" & 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
  打印新闻关闭窗口