Uibot-Excel自动获取某个工作表的总行数、总列数,读取其全部内容

背景:

        Uibot自带的Excel读取区域,需要自己手动设置读取区域的范围,如果excel文件区域的范围发生了变化,就又需要手动修改,挺麻烦的。Uibot的资料不多,搜了很久没能解决问题,所以,无奈之下走上了自己摸索的道路,好在搞定了,代码如下,希望对遇到同样问题的你有所帮助!

        如果你每次读取的Excel的区域行数或者列数会发生变化,下面的代码复制到你的Uibot,改下文件路径,改下工作表名称就可以用了。它会帮你自动读取区域,读取到的内容输出的是数组,和Uibot中自带的读取区域功能输出的数组一样。

注意点:

        1、下面的代码是从第2行开始读取,如果你的要从第一行开始读取,将j=2,改为j=1就可以了,依此类推;

        2、能自动读取的列只有26列,如果你需要读取的列超出这个范围,自己在list中按照excel的规则添加每列的字母。

思路:

        1、获取行和列的总数;

        2、分别读取行和列,并将读取到的数据存入数组中。

dim 总行数 = ""
dim objRet = ""
dim arrRet = ""
dim objExcelWorkBook = ""
dim list1 = ""
dim list0 = ""
dim 总列数 = ""
dim list = ""

try 
 objExcelWorkBook = Excel.OpenExcel("E:\\pyfd\\信息录入.xlsx",true)
//获取excel的行数,返回的是一个数字
总行数 = Excel.GetRowsCount(objExcelWorkBook,"信息收集")
//获取excel的列数,返回的是一个数字
总列数 = Excel.GetColumsCount(objExcelWorkBook,"信息收集")

list = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
//将数组list0赋值为一个空的数组
list0 = []
//从第2行开始遍历读取
For j = 2 To 总行数 step 1 
list1=[] 
//遍历读取某行中每一列的数据
For i = Asc("A") To Asc(list[总列数-1]) step 1 
//chr(i)&j,Uibot中的固定语法,意思是读取j行中i列的数据 
objRet = Excel.ReadCell(objExcelWorkBook,"信息收集", Chr(i)&j)
//将j行i列中的数据添加到数组list1中
list1 = push(list1,objRet)
Next
//将j行的数据添加到数组list0中
list0 = push(list0,list1)
TracePrint(list0)
Next
catch 
exit()
TracePrint("出错啦")
 end try
//关闭excel
Excel.CloseExcel(objExcelWorkBook,true)

Uibot-Excel自动获取某个工作表的总行数、总列数,读取其全部内容_第1张图片

Uibot-Excel自动获取某个工作表的总行数、总列数,读取其全部内容_第2张图片

你可能感兴趣的:(excel)