导出excel的基础问题请教,谢谢先.
-----------
我发现,将msflexgrid中的内容导成excel时,方法是不通过记录集,而是从msflexgrid一格一格的复制到excel中,有一个问题就是解决不了.
比如一个列中是四位的编码,当然编码都是数字,[在数据库中是字符型的,不是数值型],形如:0043,7892,0002 这种形式的四位编码,可是导到excel中时,它就变成数字型了.比如0043变成43,0002变成2了,通过反复测试,我知道了,只要一个单元格中都是数字,excel就会认为那是一个数值而不是字符,可是我想导过去以后,还是原来的四位字符,不让excel自动的转换,可以实现吗?
-----------
我发现,将msflexgrid中的内容导成excel时,方法是不通过记录集,而是从msflexgrid一格一格的复制到excel中,有一个问题就是解决不了.
比如一个列中是四位的编码,当然编码都是数字,[在数据库中是字符型的,不是数值型],形如:0043,7892,0002 这种形式的四位编码,可是导到excel中时,它就变成数字型了.比如0043变成43,0002变成2了,通过反复测试,我知道了,只要一个单元格中都是数字,excel就会认为那是一个数值而不是字符,可是我想导过去以后,还是原来的四位字符,不让excel自动的转换,可以实现吗?
Dim xlsBok As Excel.Workbook
Dim xlsSht As Excel.Worksheet Set xlsBok = xlsApp.Workbooks.Add
Set xlsSht = xlsBok.Worksheets(1)
xlsSht.Range("A1").Select
xlsApp.Selection.NumberFormatLocal = "@"
xlsSht.Cells(1, 1) = "012345"
xlsApp.Visible = True
Set xlsApp = Nothing╭═══════════════════╮
║ 免费的源码、工具网站,欢迎大家访问!║
║ http://www.j2soft.cn/ ║
╰═══════════════════╯
Set xlapp = New Excel.Application
xlapp.Visible = False
Set xlbook = xlapp.Workbooks.Add
Set xlsheet = xlbook.Worksheets(1)
If Val(xlapp.Application.Version) >= 8 Then
Set xlsheet = xlapp.ActiveSheet
Else
Set xlsheet = xlapp
End If
For i = 1 To msflexgrid.rows - 1
For j = 1 To msflexgrid.cols - 1
xlsheet.Cells(i, j) = "'"&Trim(msflexgrid.TextMatrix(i, j))
Next j
Next i
xlapp.ActiveWorkbook.SaveAs (App.path & "aa.xls")
set xlsheet = nothing
xlbook .close
set xlbook = nothing xlapp.quit
set xlapp = nothing
Set xlsheet = xlapp.ActiveSheet
Else
Set xlsheet = xlapp
End If
---------------------------
谢谢,再问一下,加这种判断用处何在呀?为何版本8以上的处理不一样呢?
还有:版本8对应的office版本是多少呀?
Set xlsheet = xlapp.ActiveSheet
Else
Set xlsheet = xlapp
End If
---------------------------
谢谢,再问一下,加这种判断用处何在呀?为何版本8以上的处理不一样呢?
还有:版本8对应的office版本是多少呀?