Что нового

[Данные, строки] Как узнать количество строк в файле Excel

Atall

Новичок
Сообщения
27
Репутация
0
Доброго времени суток!

Господа, может кто сталкивался.

Нужно узнать количество строк с использованными ячейками в Excel файле. Есть ли вообще такая функция?

А то не очень удобно каждый раз открывать файл, смотреть и вписывать в скрипт.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Atall
Попробуйте так:
Код:
#include <Excel.au3>

$sFilePath = @ScriptDir & '\File.xls'
_ExcelBookOpen($sFilePath, 0)
$oExcel = _ExcelBookAttach($sFilePath)
$aArray = _ExcelReadSheetToArray($oExcel)
_ExcelBookClose($oExcel)
MsgBox(0, 'Test', 'В файле ' & $sFilePath & @CRLF & 'Строк: ' & _
		$aArray[0][0] & @CRLF & 'Колонок: ' & $aArray[0][1])
Или, с переборкой всех листов, так:
Код:
#include <Excel.au3>
#include <Array.au3>

$sFilePath = @ScriptDir & '\test.xls'
$oExcel = _ExcelBookOpen($sFilePath, 0)
$aArrayList = _ExcelSheetList($oExcel)
Dim $aArrayBook[UBound($aArrayList)][3]
$aArrayBook[0][0] = 'Имена листов:'
$aArrayBook[0][1] = 'Кол-во занятых строк:'
$aArrayBook[0][2] = 'Кол-во занятых колонок:'
For $i = 1 To $aArrayList[0]
	_ExcelSheetActivate($oExcel, $aArrayList[$i])
	$aArraySheet = _ExcelReadSheetToArray($oExcel)
	$aArrayBook[$i][0] = $aArrayList[$i]
	$aArrayBook[$i][1] = $aArraySheet[0][0]
	$aArrayBook[$i][2] = $aArraySheet[0][1]
Next
_ExcelBookClose($oExcel)
_ArrayDisplay($aArrayBook)
 
Автор
A

Atall

Новичок
Сообщения
27
Репутация
0
Супер, все работает. Но выдает и строки и столбцы.

Как бы мне вернуть только количество строк?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Atall [?]
Только вот как бы мне вернуть только количество строк?
В 1-ом варианте просто уберите & @CRLF & 'Колонок: ' & $aArray[0][1]. Во 2-ом поменяйте Dim $aArrayBook[UBound($aArrayList)][3] на Dim $aArrayBook[UBound($aArrayList)][2] и уберите $aArrayBook[0][2] = 'Кол-во занятых колонок:' и $aArrayBook[$i][2] = $aArraySheet[0][1].
 
Автор
A

Atall

Новичок
Сообщения
27
Репутация
0
То что нужно.

Спасибо большое!
 
Верх