呵呵,不给分就没有人回答了。我来帮你。建议你别使用这种方法来导出到Excel表格,使用数据库的方法:Private sub CmdOutPut_Click()
Dim MyExcelFile as string
Dim MySheet as String
MyExcelFile="C:\Test.xls"  '生成Excel文件名
MySheet="第一个工作表"
Dim sSql as String
sSql = "SELECT * INTO [Excel 8.0;DATABASE=" & MyExcelFile & "].[" & MySheet & "] FROM MyTable"
Conn.Execute sSql
End Sub程序中,Conn为已经定义好并打开的数据库连接(ado),MyTable为数据库里表的名称。

解决方案 »

  1.   

    虽然我没分了,但是我还是非常感谢: dongdonghan(宁静散人) 和Arcan(Arcan) ,我把那那一列的格式设成文本了,可是结果还是一样的,不知道为什么
    但还是非常感谢!
      

  2.   

    哇噻,你够坚忍不拔,从昨天一直问道今天,还不知道问题所在?faint
      

  3.   

    这个问题是execl的问题,只要将显示身份证号码的那一列的格式改为“特殊”即可!
    在excel的菜单中有一个格式选项,单击,选择第一个子菜单,就看得到了!
    下面录了一段宏,你看看!
    Sub 宏1()
    '
    ' 宏1 Macro
    Selection.NumberFormatLocal = "000000"
    '上面的就是从宏里面录出来的,你在导入的时候将selection替换为列名就行了!
    End Sub
      

  4.   

    请问_131_(\*咕咚*/),这段宏是怎么用的呢,另:我选择特殊格式后,还是没什么用处啊,另:请教一下,当我用ecxecl文本向access倒数据时,好象18位的也是用科学记数法表示的,怎么办啊,谢谢了
      

  5.   

    exsheet.Cells(i + 1, j + 1) = "'" & msgShowData.Text
      

  6.   

    关于宏的用法:
    exsheet.Cells(11, 1).NumberFormatLocal = "000000"你说的设置为“特殊”后无效,我也不知道为什么!
    我这里的修改了以后就能正常显示了!
      

  7.   

    将excel的单元格设置为文本格式
    或者在显示数据时,再身份证号前面加一个分号‘试度
    在取到数据时,最后用format函数处理一格式:
    format( msgShowData.Text,"你需要的格式")