VBA中数据库导出数据到Excel注意事项

摘要:
如果用上面注释的代码的话,一个cell一个cell的赋值,要花2分钟左右。数据量也只有500条而已。效率天上地下,切忌切忌!另外,cell转range的方法,是如下的样子DimrAsrangeSetr=rangeaddress(0,0)返回的是“F10”形式字符串。
SubReadDBData()
    On Error GoToErrorHand
    Dim dbHelper As NewdbHelper
    Dim sqlSQL As String
    Dim rs AsADODB.Recordset
    Dim row As Integer
    If dbHelper.OpenConnection(GetConnString()) Then
        sqlSQL = "select top(500) * from View_Column"
        Set rs =dbHelper.ExecuteRecordset(sqlSQL)
        Dim r Asrange
        Set r = range(Sheet2.Cells(1, 1).Address(0, 0))
        r.CopyFromRecordset rs
'row = 1
'Do While Not rs.EOF
'For i = 1 To rs.Fields.Count Step 1
'Sheet2.Cells(row, i).Value = rs.Fields(i - 1).Value
'Next i
'row = row + 1
'rs.MoveNext
'Loop
rs.Close
    End If
ErrorHand:
    dbHelper.Dispose
End Sub

一定要用r.CopyFromRecordset这个方法,可以瞬间将数据写入Excel。

如果用上面注释的代码的话,一个cell一个cell的赋值,要花2分钟左右。数据量也只有500条而已。效率天上地下,切忌切忌!

另外,cell转range的方法,是如下的样子

Dim r Asrange
        Set r = range(Sheet2.Cells(1, 1).Address(0, 0))

address(0,0)返回的是“F10”形式字符串。

免责声明:文章转载自《VBA中数据库导出数据到Excel注意事项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NetBackup linux客户端安装图论:二分图判定下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用VBA数组公式——Excel之VBA(11)

一、 认识VBA数组及常用操作 引例:计算所属区域的总金额 Sub test() Dim i, k Dim t t = Timer '获取时间值 For i = 2 To 200000 If Range("g" & i) = Range("n5") Then k = k + Range("j" & i)...

VBA常用快捷键

摘自Excel 2007 Visual Basic用户界面帮助. 不过有些和系统快捷键冲突,就不起作用了.如Ctrl+Space,可以使用快捷键在代码窗口中访问下列命令。描述 快捷键查看代码窗口 F7查看“对象浏览器” F2查找 CTRL+F替换 CTRL+H查找下一个 F3查找前一个 SHIFT+F3下一个过程 CTRL+DOWN ARROW前一个过程...

[vba]excel中求选中数据和为给定数所有的组合

昨天下午开始学习的vba,累死了,肯定有bug,待调试 vba程序如下: 1 Dim aSum As Integer 2 Dim tSum As Integer 3 Dim judge(30) As Integer 4 Dim arrMax As Integer 5 Dim arr 6 Dim location(30) As Integer...

用VBA去除Excel工作表保护密码

今天帮同事解决个EXCEL问题,现记在这,以作备忘 现象: 想要修改保护单元 格的内容,在使用“工具”菜单“保护”子菜单的“撤消工作表保护”命令,这时要求输入密码。 解决方案:网上找到一文http://www.excel123.cn/Article/excelvba/200812/126.html 1.按Alt+F11,打开VBA编辑器。...

VBA工作表排序转载

工作表内单元格数据的排序,使用Range.Sort 命令。但是后面的参数较多,新人一般采用录制宏时出来一大堆,也不知道该如何编辑。因此,我开这一个帖子,给新人普及一下:Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3,Header, OrderCustom, Match...

批量横向打印Excel

使用VBA脚本写的,具体使用如下:在批量需要打印的Excel文档下面,新建一个文档,将代码粘贴VBA工程里,然后运行即可。 具体代码如下: Attribute VB_Name = "模块1" SubPiLiangPring() Attribute PiLiangPring.VB_ProcData.VB_Invoke_Func = "14" Dim curP...