There is any way to know the dimensions of an excel file (rows, columns) without using xlsread?
조회 수: 13 (최근 30일)
이전 댓글 표시
There is any way to know the dimensions of an excel file (rows, columns) without using xlsread?
I have very large .csv/.xlsx files and I want to increase a waitbar. My strategy will be make a loop with a percentage of the file to read and then increase the waitbar.... repeating it till the file is completely read.
댓글 수: 0
채택된 답변
Tom
2013년 6월 19일
You can, but you have to open an Actx server - I wouldn't bother unless you really think it's worth it...
Excel = actxserver('excel.application');
Excel.workbooks.Open(fileName,0,true); %file name must also have path
nCols = Excel.ActiveSheet.UsedRange.Columns.Count;
nRows = Excel.ActiveSheet.UsedRange.Rows.Count;
Excel.Quit
Excel.delete
That will probably need adding to (e.g. specifying a worksheet)
댓글 수: 2
dpb
2024년 8월 4일
NOTA BENE: The above code snippet leaves the Excel file open...it should also close the file before destroying the connection...
Excel = actxserver('excel.application');
Excel.workbooks.Open(fileName,0,true); %file name must also have path
nCols = Excel.ActiveSheet.UsedRange.Columns.Count;
nRows = Excel.ActiveSheet.UsedRange.Rows.Count;
Excel.ActiveWorkbook.Close(0); % close the workbook!!!!
Excel.Quit
Excel.delete
clear Excel % also get rid of no longer valid Excel object hanging around in workspace
It would be better to encapusate the functionality in a function...
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 ActiveX에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!