找回密码
 加入
搜索
查看: 10567|回复: 9

[原创] 求教---快速查找excel中指定字符串

 火.. [复制链接]
发表于 2011-8-28 16:32:29 | 显示全部楼层 |阅读模式
求教---快速查找excel中指定字符串,并返回搜到的字符串位置~~
我现在用 ,_ExcelReadCell 逐行读取,比较的方式,但是搜3个子表,每个子表20列,1000行,花掉了1分半钟~~
我是菜鸟,请高手帮忙~~
发表于 2011-8-30 11:20:50 | 显示全部楼层
"我也有这个问题啊楼主",呵呵,看来咱们是想到了一块去了啊,呵呵,我仙子啊还没有能够解决掉这个问题,不知道你是否已经解决掉了?
发表于 2011-10-30 13:56:54 | 显示全部楼层
我现在也遇到了这样的问题 。。。
发表于 2012-4-26 14:14:52 | 显示全部楼层
我现在也遇到了。。。。Orz
发表于 2012-4-26 15:43:45 | 显示全部楼层
ls的都是马甲么,没看到这是什么区。跑这里来问问题,你们都来回答了。。。纳闷中、
发表于 2012-6-7 06:23:31 | 显示全部楼层
关注一下,我的思路是先编写excel宏,这样是否快些
发表于 2012-6-8 07:33:17 | 显示全部楼层
在论坛查找“ _ExcelReadToArrayFast加速Excel数组读取”这个帖子,可以在很大程度上优化你的问题。我的思路是这样的,如果你能确定要找的字符串在第几列,可以直接预读取那一列,方法是用Range一次读取适量的单元格,然后进行判断是否已经读到~ 如果不能确定在哪一列,那就全表格搜索,甚至全工作簿搜索(只需一开始就罗列所有工作表,然后逐个操作),每次读取一行,看有没有要查找的数据~
发表于 2014-4-30 15:07:04 | 显示全部楼层
#include <Excel.au3>

Local $var = FileOpenDialog("请选择要开启的档案", "@ScriptDir", " XLS(*.xls) ")
Local $oExcel = _Excelbookopen($var)




Local $aRc = StringRegExp($oExcel.Application.Selection.SpecialCells($xlCellTypeLastCell).Address(True, True, $xlR1C1), "\d+",3);共有几行几列
$oExcel.ActiveCell.CurrentRegion.Select;全选

;找"ID"所在Excel表行列位置(单元格位置)
Local $aIDCell[3]
$oFind = $oExcel.Selection.Find("ID") 
If IsObj($oFind) Then
        $aIDCell[0] = $oFind.Address(0,0);"ID"所在单元格Range
        $aIDCell[1] = $oFind.Row;"ID"所在单元格行
        $aIDCell[2] = $oFind.Column;"ID"所在单元格列
Else
        MsgBox(4096,"Error","没有找到 ID 单元格")
EndIf
发表于 2014-5-26 15:42:02 | 显示全部楼层
好像挺牛逼
发表于 2014-8-19 16:54:41 | 显示全部楼层
学习嘻嘻回复 8# ReMind
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-4 19:46 , Processed in 0.077815 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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