如何取得本地,excel文件中所使用的行数和列数?
我想通过在QTP中写代码,输出本地一个excel文件中到底使用了几行和几列,代码如下:
Setexcel=CreateObject("Excel.Application")set openexcel=excel.Workbooks.Open("这里输入EXCEL路径")
rowcount =openexcel.ActiveSheet.UsedRange.Rows.Count
Columnscount =openexcel.ActiveSheet.UsedRange.Columns.count
print " 行数:"&rowcount&"列数:"&Columnscount
openexcel.Close
excel.Quit
set openexcel=nothing
Setexcel=nothing
'若想要获取Excel中指定sheet的行数和列数,函数如下:
Public function getrowandcol(filepath,sheetname)
'函数作用:获取EXCEL指定sheet的行数和列数
'参数说明
'filepath:EXCEL所在路径
'sheetname:需要统计行数和列数的SHEET名称
'用法示例:getrowandcol"D:\qqq.xlsx","sheet1"
Setexcel=CreateObject("Excel.Application")
set openexcel=excel.Workbooks.Open(filepath)
openexcel.WorkSheets(sheetname).Activate
rowcount =openexcel.ActiveSheet.UsedRange.Rows.Count
Columnscount =openexcel.ActiveSheet.UsedRange.Columns.count
If openexcel.WorkSheets(sheetname).Cells(1,1 )="" and rowcount=1 and Columnscount=1 then
print sheetname&"中没有数据"
else
print sheetname&"的行数为:"&rowcount&"列数:"&Columnscount
end if
openexcel.Close
excel.Quit
set openexcel=nothing
Setexcel=nothing
End Function
'说明,若sheet中没有数据,则默认为1行1列,可以写个判断语句,避免没有数据时行数和列数显示为1。见函数中红色代码
[ 本帖最后由 feiyunkai 于 2010-7-30 17:16 编辑 ] 谢谢楼上朋友解答,确实是个好方法。
不过在你解答之前我自己写了个方法来实现(有点笨的方法):
其实下面的方法是有缺陷的:当有个有个空格没有数据,然后下个一个空格又有数据的就不能使用这个方法啦,因为遇到循环时就会退出循环。
Dim rowCount
rowCount = 0
For i=1 to 1000 '‘1000是自己定义的一个有数据时的最大行数或列数,也可以定义成无穷大
isover =ss.EXCLE_read(syspath,sheet,1,i) ’检查第一行的所有列是否有数据
If Isempty(isover)Then
Exit For ‘如果没有数据退出循环。
End If
rowCount = rowCount+1
Next
msgbox rowCount
页:
[1]