一般我们在程序中操作Excel时,逐单元格填充时,速度非常之慢。

其实Excel的Range可以直接绑定数组,速度极快。在下面的 VB6 示例中,填充一个1000*10的区块,

逐单元格方式要20~25秒,而数组方式瞬间内即可完成。

Code
Private Sub Command2_Click()
    Dim a(1000, 10) As Integer
    Dim i As Integer
    Dim j As Integer
    Dim z As Integer
    Dim oXLSAPP As New Excel.Application
    Dim oWSheet As Worksheet
    
    Command2.Enabled = False

'创建一个新的Excel文件
    oXLSAPP.Workbooks.Add
    oXLSAPP.Workbooks(1).Activate
   
    Set oWSheet = oXLSAPP.Workbooks(1).Worksheets(1)
    oWSheet.Activate
    
    '准备一个数组
        For i = 1 To 1000
            For j = 1 To 10
                Randomize
                a(i, j) = CInt(1000 * Rnd)
                Randomize
                z = z + 1
                DoEvents
            Next
        Next
        
    '利用这个数组填充
    Dim xrange As Range
    Set xrange = oWSheet.Range("A1:J1000")
    Label9.Caption = "正在进行逐格填充"
    DoEvents
    
   
    Label2(0).Caption = Now()
     For i = 1 To 1000
        For j = 1 To 10
            xrange(i, j).Value = a(i, j)
            'DoEvents
        Next
        'DoEvents
    Next
    Label3(0).Caption = Now()
    Label9.Caption = "逐格填充完毕"
    Label5(0).Caption = DateDiff("s", CDate(Label2(0).Caption), CDate(Label3(0).Caption)) & " 秒"
    DoEvents
    '-------------------------------------------------------------
    '直接填充
    Label9.Caption = "正在进行数组填充"
    DoEvents
    Label2(1).Caption = Now()
    '##################################
    '直接把数据给区块
    '需要注意的是,这个区块接受数组是从序号0开始的.用的时候注意边界
    oWSheet.Range("L1:U1000") = a
    '##################################
    Label3(1).Caption = Now()
    Label9.Caption = "数组填充完毕"
    Label5(1).Caption = DateDiff("s", CDate(Label2(1).Caption), CDate(Label3(1).Caption)) & " 秒"
    DoEvents
    Dim fname As String
    fname = App.Path & "/" & Format(Now, "yyyymmddhhMMss") & ".xls"
    oXLSAPP.Workbooks(1).SaveAs fname
    Label9.Caption = "文件保存到 " & fname
    DoEvents
    
    Set oXLSAPP = Nothing
   
End Sub

示例代码下载:

http://files.cnblogs.com/babyt/APP20090208EXCEL.rar

另外特别推荐:
特别推荐:纯VB.NET代码直接生成Excel文件(不需要Excel)

使用数组快速填充Excel相关推荐

  1. 快速填充excel表格一列

    mac电脑 方案一: 先输入要填充的内容/公式,按下CONTROL+ SHIFT+方向键上/下,再按下CTRL+D 就可以快速填充选中的一列 方案二: 按下 CONTROL+G ,出现下面的弹框,选择 ...

  2. 将null转换成数组_Javscript数组快速填充数据的8种方法

    前言 日常开发过程中经常会遇到模拟数据填充的问题.也就是造一些假数据,方便自己调试和开发.由此,整理了常用的数据填充的方法,在自己学习的过程中,也分享给更多开发者.一起学习,一起加油,一起精进. fi ...

  3. python 写入excel_实用小工具python数组快速写入excel表格

    在进行数值计算时有时会产生大量的数据,有时候需要与其他软件计算的数据进行对比,这时候将数据输出excel表格就很重要了. 借助openpyxl可以方便地输出相应的数据,精简版如下: from open ...

  4. excel填充序列_excel如何快速填充数据

    快速填充 1.拖拉填充 数字篇 选中第一个单元格,鼠标放在右下边,双击或者下拉即可自动填充,可以选择复制或者是填充序列 如果需要填充间隔数字,在开始--填充--序列,把步长(即数字之间的间隔)设置成你 ...

  5. 可以操作excel吗_Excel快速填充,这四种方法你会吗?操作逆天告别加班

    在Excel的表格制作中,仅仅会复制粘贴可是不够的,还需要掌握更多的技能,来提升我们的工作效率! 我们在进行Excel报表制作的时候,如果要批量填充序号,有多少种方法呢?下面给大家简单介绍一下这四种方 ...

  6. excel快速填充_F4键,Excel中最强大的快捷键,没有之一

    Hello,大家好,今天我们来聊聊excel中的快捷键,你觉得excel中哪个快捷键最强大呢?反正我觉得excel中最强大的快捷键当属F4键,可能很多人会说F4不就是用来切换数据引用方式的吗?那只是它 ...

  7. excel快速填充_Excel教程:24秒,提取excel工作簿中300张图片

    微信扫码观看<财务人的Excel速成视频> 或许您在看本篇教程的时候,会很惊讶,会有疑问,Excel和压缩软件有啥关系,提取图片居然可以这样做!小雅用的是Excel2013版本,给大家分享 ...

  8. Excel中快速填充产生连续的数字编号

    转载自:Excel中如何快速填充产生连续的数字编号? 方法/步骤 1.首先,打开你所需要填充编排的连续编号的文件.假如你需要填充得数据为如下图. 2.选中你所要选择开始填充的第一个单元格,输入第一个号 ...

  9. Excel小技巧之快速填充单元格的几种快捷键

    1/6 打开Excel,准备好一些数据,教大家Excel小技巧之快速填充单元格的几种快捷键,如下图所示. 2/6 首先如果我们需要在一行中快速填充同样的信息,这些我们只需要在第一个单元格中输入要填充的 ...

最新文章

  1. 云计算公司Zuora提交IPO申请 预计募资1亿美元
  2. 安防行业为何缺少真正适用的AI芯片?
  3. 后端小白的VUE入门笔记, 进阶篇
  4. set / ... 去重的方法
  5. hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
  6. 转载:Java编程风格与命名规范整理
  7. 阿里发布2020农产品电商报告数字农业将成风口
  8. 股票中买1、买2、买3和卖1、卖2、卖3
  9. 5G时代的无线宽带新技术
  10. 加拿大上市矿企Bitfarms完成第二笔1500万美元普通股私人认购
  11. memcached在大负载高并发网站上的应用(一)
  12. Android内核开发 Linux C编程调用内核模块设备驱动
  13. java gc什么意思_对Java GC的简单理解
  14. 借助C++类结构计算矩形面积(矩形类)
  15. 赚大钱的生意都是陌生人生意,熟人生意都是赚小钱
  16. 好用的Mac免费视频后期软件推荐
  17. linux下文件的total是啥,linux中,ls -l命令显示的total的含义。
  18. mysql 简述pk uk fk 的区别和对数据库性能的影响_数据库pk fk ak
  19. 辐射安全管理考试笔记
  20. python 经典ppt_用Python玩转PPT!

热门文章

  1. 随机森林回归预测r语言_使用随机森林(R语言)做回归
  2. 芝加哥大学计算机科学,芝加哥大学计算机科学
  3. 【转帖】中国芯暗流涌动,龙芯/飞腾都在走什么样的路
  4. Vue+TS+子组件回调父组件的方法
  5. 嵌入式的日常工作内容是什么?
  6. 134179-38-7,N3-PEG3-NH2,Azide-PEG3-Amino叠氮-三聚乙二醇-氨基的化学性质
  7. MySQL学习的第一天 查询
  8. 华为手机记事本导出_手机自带记事本如何备份
  9. 哪些是python_什么是python?_【曾贤志】用Python处理Excel数据 - 第1季 基础篇_Excel视频-51CTO学院...
  10. 实现支付宝全额退款和部分退款功能