gjay1688 发表于 2008-9-1 15:46:22

如何获取excel行数

脚本中如何获得一个excel中数据行数,请高手指教

lingxin5013 发表于 2008-9-1 17:05:20

导入到DATATABLE
然后getrowcount

hsjzfling 发表于 2008-9-1 17:48:06

如果是QTP中DataTable,数据行数可以直接用GetRowCount来获取

如果是Excel文件的话,目前我知道的只能去循环查找每一行,直到某一行为空,记录下当前的行号,这样来得到数据行数。

郝宁 发表于 2008-9-1 22:21:51

自己写的方法,供你参考。。。
Function OpenExcel (byRef excelSH, filePath, sheetName)//打开Excel对象
        On Error Resume Next
        Set excelApp = CreateObject("Excel.Application")
        excelApp.Visible = True
        Set excelWK = excelApp.Workbooks.Open(filePath)
        Set excelSH = excelWK.Worksheets(sheetName)
        On Error GoTo 0
End Function

Function GetRowCount (excelSH, rowCount) //获取行数
   ConstxlUp = -4162
   ConstxlToLeft = -4159
   ConstxlDown =-4121
   ConstxlToRight= -4161
   rowCount = excelSH.Range("A65536").End(xlUp).Row
End Function

郝宁 发表于 2008-9-1 22:24:21

Function OpenExcel (byRef excelSH, filePath, sheetName)
        On Error Resume Next
        Set excelApp = CreateObject("Excel.Application")
        excelApp.Visible = True
        Set excelWK = excelApp.Workbooks.Open(filePath)
        Set excelSH = excelWK.Worksheets(sheetName)
        On Error GoTo 0
End Function

Function GetRowCount (excelSH, rowCount)
    ConstxlUp = -4162
    ConstxlToLeft = -4159
    ConstxlDown =-4121
    ConstxlToRight= -4161
    rowCount = excelSH.Range("A65536").End(xlUp).Row
End Function

blueeagle9999 发表于 2008-9-1 23:00:25

导入表--》得到行数
DataTable.Import(FileName)
datatable.GetSheet("xxxx").GetRowCount
试试看行不?

kevin_swpi 发表于 2008-9-2 09:01:47

.UsedRange.Rows.Count

gjay1688 发表于 2008-9-2 09:39:35

回复 4# 的帖子

谢谢,有些疑问:
1文件路径必须为绝对路径吗?
2 -4162等等是什么意思呵呵

gjay1688 发表于 2008-9-2 09:41:01

回复 6# 的帖子

只要将文件名和sheet名写到里面就行了吗

gjay1688 发表于 2008-9-2 09:42:08

回复 7# 的帖子

UsedRange.Rows.Count前面是什么?sheet名就OK了吗

hsjzfling 发表于 2008-9-2 10:06:52

原帖由 郝宁 于 2008-9-1 22:21 发表 http://bbs.51testing.com/images/common/back.gif
自己写的方法,供你参考。。。
Function OpenExcel (byRef excelSH, filePath, sheetName)//打开Excel对象
      On Error Resume Next
      Set excelApp = CreateObject("Excel.Application")
      excelApp.Visible = Tr ...

能解释下那些常量什么意思么
我用一个有5000行数据的excel去尝试了下,给的返回值是235行。。。

kevin_swpi 发表于 2008-9-2 11:31:27

原帖由 gjay1688 于 2008-9-2 09:42 发表 http://bbs.51testing.com/images/common/back.gif
UsedRange.Rows.Count前面是什么?sheet名就OK了吗

对的
这样就能获取指定sheet里面存在的row的总数了
如果是列用columns就可以了

kevin_swpi 发表于 2008-9-2 11:32:55

原帖由 郝宁 于 2008-9-1 22:24 发表 http://bbs.51testing.com/images/common/back.gif
Function OpenExcel (byRef excelSH, filePath, sheetName)
        On Error Resume Next
        Set excelApp = CreateObject("Excel.Application")
        excelApp.Visible = True
        Set excelWK = excelApp.Workbooks.Open(file ...

有函数直接统计
何必这么麻烦呢

呵呵 不过还是顶一下:) :lol
页: [1]
查看完整版本: 如何获取excel行数