找回密码
 加入
搜索
查看: 10149|回复: 8

[效率算法] 如何快速读取excel数据到数组[已解决]

  [复制链接]
发表于 2014-6-17 08:23:58 | 显示全部楼层 |阅读模式
本帖最后由 xms77 于 2014-6-18 21:50 编辑

我用_ExcelReadSheetToArray函数来读取excel中的数据,那速度实在是太慢了,不知道有没有什么比较高效快捷点的方法?
发表于 2014-6-17 08:31:18 | 显示全部楼层
本帖最后由 kevinch 于 2014-6-17 08:37 编辑

http://www.autoitx.com/forum.php ... p;extra=&page=1
参考一下,其实就是
数组变量=工作表区域.value
即可
另外还可以用.formula得到公式内容等文本

另外提醒一下,读取出来的结果数组里,行与列与excel里是相反的,写回时一样要用反的
发表于 2014-6-17 09:26:53 | 显示全部楼层
谢谢二楼,学习一下
 楼主| 发表于 2014-6-17 14:17:30 | 显示全部楼层
回复 2# kevinch
谢谢kevinch!另外如果要copy区域数据和Paste数据,该如何处理?_excelWriteSheetFromArray()函数同样很慢。
 楼主| 发表于 2014-6-17 14:32:41 | 显示全部楼层
回复 2# kevinch
是不是
$oExcel.cells(4,$UpdateColumnNumber + 4).resize(200,14-$UpdateColumnNumber).value=$Array就行了
发表于 2014-6-17 14:37:09 | 显示全部楼层
回复 4# xms77

我的方法是  丟到剪貼簿  然後 到 EXCEL 一次 貼上

就行啦  速度超快
发表于 2014-6-17 14:49:42 | 显示全部楼层
回复 5# xms77
差不多,不过注意控制区域大小,区域只能与数组一样大或者比数组小,比数组大了会出现很多#N/A的值,一般用ubound来控制等大小

_excelWriteSheetFromArray()慢的很大一个原因是他是一个单元格一个单元格去写的,这样最慢
发表于 2014-6-17 20:53:41 | 显示全部楼层
2楼kevinch正解
发表于 2014-7-10 13:52:56 | 显示全部楼层
支持一下支持一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-12 20:43 , Processed in 0.079037 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表