我们在做数据导出时,往往导出成csv格式的文件,而csv格式的文件往往又通过Excel或wps来打开。当遇到身份证这类的内容时,Excel会将其当作一个超大的数字来对待,显示在界面上只能用科学计数法来显示。当然,这不是我们要的结果!我们需要在Excel中完整的显示身份证号码!
看看下面这个导出成csv文件的源代码:
Sub exportcsv()
If conn.state<>1 Then conn.open
sql = "select * from zaho_Member"
rs.open sql,conn,1,1
fileContent = """姓名""" & vbTab & """手机""" & vbTab & """身份证""" & vbTab & """志愿者卡号""" & vbTab & """所在地""" & vbTab & """积分数""" & VBCRLF
Do While Not rs.EOF
line = ""
line = line & """" & rs("mem_realname") & """" & vbTab
line = line & """'" & rs("mem_phone") & """ " & vbTab
line = line & """'" & CStr(rs("mem_sfz")) & """ " & vbTab
line = line & """'" & rs("mem_cardNo") & """ " & vbTab
line = line & """" & rs("mem_col2") & """" & vbTab
line = line & """" & rs("mem_jifen") & """" & VBCRLF
fileContent = fileContent & line
rs.MoveNext
Loop
rs.close
Call zahoAsp.DownOutputFile(fileContent, "会员列表.xls", "gbk")
大家注意在处理手机号码、身份证、卡号等内容时,我们串在字段前面多了一个单引号('),可以通过单引号,让Excel将这栏数据识别为一个文本。这样它的就不会被显示为科学计数法了。