我们在做数据导出时,往往导出成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将这栏数据识别为一个文本。这样它的就不会被显示为科学计数法了。

03-14 11:50