找回密码
 加入
搜索
查看: 5910|回复: 21

用_ExcelReadSheetToArray取得一个EXCEL表的行数太慢,请问还有没有别的方法?

 火.. [复制链接]
发表于 2009-12-31 15:11:32 | 显示全部楼层 |阅读模式
本帖最后由 ziyaxian 于 2010-1-4 15:10 编辑

我有多个EXCEL表都在5、6百行左右,我想每个表一行一行的处理数据,但用_ExcelReadSheetToArray取表的行数时过慢,请问还有没有别的快的方法取得一个EXCEL表的行数,谢谢!!
发表于 2009-12-31 15:15:14 | 显示全部楼层
得到工作最后一行有内容的行数
$Q = $oExcel.Sheets("工作表名").Range("B65536").End($xlUp).Row + 1
 楼主| 发表于 2009-12-31 18:03:15 | 显示全部楼层
请问这个$xlUp是什么呢?
发表于 2009-12-31 20:51:58 | 显示全部楼层
$xlUp表示第一行
发表于 2010-1-1 10:42:51 | 显示全部楼层
本帖最后由 pchome2000 于 2010-1-1 10:48 编辑

Global Const $xlUp = -4162         
local $oexcel = _excelbootopen("c:\test.xls")
$Q = $oExcel.Sheets("工作表名").Range("A65536").End($xlUp).Row + 1
;A列第65536行之上的最后有数据的单元格所在行数
msgbox(0,"test",$q)

评分

参与人数 1金钱 +15 贡献 +1 收起 理由
afan + 15 + 1

查看全部评分

 楼主| 发表于 2010-1-1 12:59:03 | 显示全部楼层
谢谢,比原来快多了,还有个问题想问一下,我只想取得这个表的行数而不打开这个表,有什么方法做到吗?
发表于 2010-1-1 17:51:35 | 显示全部楼层
local $oexcel = _excelbootopen("c:\test.xls", 0)
0是隐藏打开,1是可见打开
发表于 2010-5-10 10:12:55 | 显示全部楼层
学习了。谢谢
发表于 2011-1-10 21:36:33 | 显示全部楼层
#include <Excel.au3>
Global Const $xlUp = -4162
local $oexcel = _ExcelBookOpen("c:\ceshi.xls")
$q = $oExcel.Sheets("sfz").Range("A65536").End($xlUp).Row + 1
;A列第65536行之上的最后有数据的单元格所在行数
msgbox(0,"test",$q)

运行上面的代码出错:

$q = $oExcel.Sheets("sfz").Range("A65536").End($xlUp).Row + 1
$q = $oExcel^ ERROR
发表于 2011-1-28 13:02:56 | 显示全部楼层
呵呵,又发现了新大陆,节省了不少时间,学习了!
发表于 2011-2-11 12:20:07 | 显示全部楼层
学习了,谢谢
发表于 2011-9-1 21:22:36 | 显示全部楼层
真是谢谢了,,有问题来论坛真没错,,
发表于 2012-5-27 22:50:38 | 显示全部楼层
Global Const $xlUp = -4162
可否解释一下啊?
不过确实可以得到正解~!
这是等到有数据的最后一行
发表于 2012-5-27 23:10:22 | 显示全部楼层
刚刚百度了一下,发现了那个-4162的意思



只能记下了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-5-27 23:11:35 | 显示全部楼层
$oExcel.Sheets("sfz").Range("A65536").End($xlUp).Row + 1
是从A列的第65536行开始,向上找到第一个有数据的单元格,再加1就是有数据单元格下面的单元格。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-29 02:14 , Processed in 0.101382 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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