近日在用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.VeVb.com/down/12254.html