Excel的速度问题早有听说,一般解决方法是用直接传入RecordSet的方法改善。这种方法在报表外观简单的情况下是很实用的,但是我现在的实际情况对外观的要求比较高,经常需要设置表头,页眉,页脚,页边距,以及网格合并,字体颜色大小,等操作。当这些操作占据一定的量的时候,就变成了耗时的大户。填入数据倒是一点点时间,不足50分之一。这种情况该如何改善?谢谢。分不在多,有分则诚。谢谢.
解决方案 »
- worldy大侠希望能再请教您之前的问题,非常感谢!!
- mapx+vb,Set Ftrs = Lyr.Search("name like ""%北京%""")
- execl编程控制每次输入的数据
- 一个关于网络的问题
- DataEnvironment 出现数据库登陆的界面的时候按“取消”按钮程序就报错?
- ==== 请教 : 如何制作自动升级/更新 程序 ====
- 一段关于钩子和消息的VB代码:看看出了什么问题
- vba word如何在指定一行插入table
- 别说你不知道,WinXP竟是由Basic写成?!
- 快来救救我把,关于打包安装的问题和控件也有关系
- 帮忙解决!急!
- 导出到Excel,被速度问题困扰,请李洪根高手帮忙(也欢迎大家帮忙,只是我就记得李的名字)。
http://www.microsoft.com/china/community/Column/32.mspx如果要设置复杂的格式,最快的方法是调用宏。
Private Sub Command3_Click()
Dim objFileSystem As Object
Dim objExcelText As Object
Dim strTableString As String, i As Integer, strFileName As String
Dim pubConn As New ADODB.Connection
Dim rsTable As New ADODB.Recordset
Dim strConn As String
Dim strSQL As String strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=develop; password=12345;Data Source=ServerNmae"
pubConn.Open strConn
rsTable.CursorLocation = adUseClient
strSQL = "select top 10 * from gate_register"
rsTable.Open strSQL, pubConn, adOpenDynamic, adLockOptimistic
For i = 0 To rsTable.Fields.Count - 1
strTableString = strTableString & rsTable.Fields(i).Name & Chr(9) '獲取字段名
Next
strTableString = strTableString & rsTable.GetString '字段名+數據庫的記錄
cmDialog.CancelError = False
cmDialog.FileName = "FileName" '默認生成的文件名
cmDialog.DialogTitle = "Save Export File"
cmDialog.Filter = "Excel (*.xls)|*.xls|文本文件(*.DBF)|*.DBF|檔案文件(*.doc)|*.doc|所有文件(*.*)|*.*"
cmDialog.DefaultExt = "*.xls"
cmDialog.ShowSave
strFileName = cmDialog.FileName
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objExcelText = objFileSystem.createtextfile(strFileName, True)
objExcelText.writeline (strTableString)
objExcelText.Close
Set objFileSystem = Nothing
End Sub
李老大地回答明快准确,谢谢
leolan(史留香)的答案也到位,但是我们这边的情况基本没什么静态的。
jam021(jam),感谢你的关注。
hdhai9451的答案并不是我问的重点,感谢关注。
daisy8675(莫依),你的肯定也是答案,感谢关注。