我现在有这样一个问题,我从数据库里取出的数据是NVARCHAR类型,有的是数组,有的是文字,我把这些数据整合成一个文件流,先写成一个a.xls文件导出,然后在利用Excel.Application 的对象把这个a.xls打开,然后把第一行修改颜色,加上超链接,在把所有的单元格都设置为text格式,然后保存这个a.xls文件,整个程序结束。但是我从数据库里取出的数据是数字的例如:000789,写到a.xls最终显示后变成 789,这时a.xls的单元格已经是text类型了。可是000789的0在第一次用文件流向a.xls写的时候应该丢失了。因为我在数据库里取出时还是00789,请问各位有什么方法能把我从数据库里取出的数字数据能完整的作为a文件流写到a.xls,然后我在设置单元格为text格式,这样就不会错了。谢谢。

解决方案 »

  1.   

    看不懂,你是想它在excel里显示为789??00789???000789?????
      

  2.   

    我想导出的就是数据库取出的数据,入数据库对应的记录集AdRs("A")的值是000789,nvachar类型,我导出到
    a.xls上显示就应该为00789.上面2位朋友说的加单引号再导出的方法我试验过,如000789 ,我写代码时加
    "'" & AdRs("A") ,可是导出的文件,单元格显示的就是<‘000789 >,必须双击一下这个单元格才能变成单元格
    是左上角有个绿三角的形式。在代码里怎么设置哪个属性,能直接生成最后的这种形式。
      

  3.   

    可以先用excel.application设置单元格格式为test,再导出值到a.xls中
      

  4.   

    Private Sub Command1_Click()
        Dim xlapp1 As Excel.Application
        Dim xlbook1 As Excel.Workbook
        Dim xlsheet1 As Excel.Worksheet    Set xlapp1 = CreateObject("Excel.Application")
        Set xlbook1 = xlapp1.Workbooks.Open("d:\test2.xls")
        Set xlsheet1 = xlbook1.Worksheets(1)
        
         '要先设置格式后付值
        Columns("B:B").ColumnWidth = 16.63    '有时候宽度会导致格式问题
        Columns("B:B").NumberFormatLocal = "@"
        Range("B19").FormulaR1C1 = "000789"    xlapp1.Quit
        Set xlapp1 = NothingEnd Sub