使用数组快速填充Excel
一般我们在程序中操作Excel时,逐单元格填充时,速度非常之慢。
其实Excel的Range可以直接绑定数组,速度极快。在下面的 VB6 示例中,填充一个1000*10的区块,
逐单元格方式要20~25秒,而数组方式瞬间内即可完成。
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相关推荐
- 快速填充excel表格一列
mac电脑 方案一: 先输入要填充的内容/公式,按下CONTROL+ SHIFT+方向键上/下,再按下CTRL+D 就可以快速填充选中的一列 方案二: 按下 CONTROL+G ,出现下面的弹框,选择 ...
- 将null转换成数组_Javscript数组快速填充数据的8种方法
前言 日常开发过程中经常会遇到模拟数据填充的问题.也就是造一些假数据,方便自己调试和开发.由此,整理了常用的数据填充的方法,在自己学习的过程中,也分享给更多开发者.一起学习,一起加油,一起精进. fi ...
- python 写入excel_实用小工具python数组快速写入excel表格
在进行数值计算时有时会产生大量的数据,有时候需要与其他软件计算的数据进行对比,这时候将数据输出excel表格就很重要了. 借助openpyxl可以方便地输出相应的数据,精简版如下: from open ...
- excel填充序列_excel如何快速填充数据
快速填充 1.拖拉填充 数字篇 选中第一个单元格,鼠标放在右下边,双击或者下拉即可自动填充,可以选择复制或者是填充序列 如果需要填充间隔数字,在开始--填充--序列,把步长(即数字之间的间隔)设置成你 ...
- 可以操作excel吗_Excel快速填充,这四种方法你会吗?操作逆天告别加班
在Excel的表格制作中,仅仅会复制粘贴可是不够的,还需要掌握更多的技能,来提升我们的工作效率! 我们在进行Excel报表制作的时候,如果要批量填充序号,有多少种方法呢?下面给大家简单介绍一下这四种方 ...
- excel快速填充_F4键,Excel中最强大的快捷键,没有之一
Hello,大家好,今天我们来聊聊excel中的快捷键,你觉得excel中哪个快捷键最强大呢?反正我觉得excel中最强大的快捷键当属F4键,可能很多人会说F4不就是用来切换数据引用方式的吗?那只是它 ...
- excel快速填充_Excel教程:24秒,提取excel工作簿中300张图片
微信扫码观看<财务人的Excel速成视频> 或许您在看本篇教程的时候,会很惊讶,会有疑问,Excel和压缩软件有啥关系,提取图片居然可以这样做!小雅用的是Excel2013版本,给大家分享 ...
- Excel中快速填充产生连续的数字编号
转载自:Excel中如何快速填充产生连续的数字编号? 方法/步骤 1.首先,打开你所需要填充编排的连续编号的文件.假如你需要填充得数据为如下图. 2.选中你所要选择开始填充的第一个单元格,输入第一个号 ...
- Excel小技巧之快速填充单元格的几种快捷键
1/6 打开Excel,准备好一些数据,教大家Excel小技巧之快速填充单元格的几种快捷键,如下图所示. 2/6 首先如果我们需要在一行中快速填充同样的信息,这些我们只需要在第一个单元格中输入要填充的 ...
最新文章
- 云计算公司Zuora提交IPO申请 预计募资1亿美元
- 安防行业为何缺少真正适用的AI芯片?
- 后端小白的VUE入门笔记, 进阶篇
- set / ... 去重的方法
- hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
- 转载:Java编程风格与命名规范整理
- 阿里发布2020农产品电商报告数字农业将成风口
- 股票中买1、买2、买3和卖1、卖2、卖3
- 5G时代的无线宽带新技术
- 加拿大上市矿企Bitfarms完成第二笔1500万美元普通股私人认购
- memcached在大负载高并发网站上的应用(一)
- Android内核开发 Linux C编程调用内核模块设备驱动
- java gc什么意思_对Java GC的简单理解
- 借助C++类结构计算矩形面积(矩形类)
- 赚大钱的生意都是陌生人生意,熟人生意都是赚小钱
- 好用的Mac免费视频后期软件推荐
- linux下文件的total是啥,linux中,ls -l命令显示的total的含义。
- mysql 简述pk uk fk 的区别和对数据库性能的影响_数据库pk fk ak
- 辐射安全管理考试笔记
- python 经典ppt_用Python玩转PPT!
热门文章
- 随机森林回归预测r语言_使用随机森林(R语言)做回归
- 芝加哥大学计算机科学,芝加哥大学计算机科学
- 【转帖】中国芯暗流涌动,龙芯/飞腾都在走什么样的路
- Vue+TS+子组件回调父组件的方法
- 嵌入式的日常工作内容是什么?
- 134179-38-7,N3-PEG3-NH2,Azide-PEG3-Amino叠氮-三聚乙二醇-氨基的化学性质
- MySQL学习的第一天 查询
- 华为手机记事本导出_手机自带记事本如何备份
- 哪些是python_什么是python?_【曾贤志】用Python处理Excel数据 - 第1季 基础篇_Excel视频-51CTO学院...
- 实现支付宝全额退款和部分退款功能