is there a command of Matlab to get the number of the written rows in excel file? firstly, I fill the first row. and then I want to add another rows in the excel file. so this is my excel file:
I tried:
e = actxserver ('Excel.Application');
filename = fullfile(pwd,'example2.xlsx');
ewb = e.Workbooks.Open(filename);
esh = ewb.ActiveSheet;
sheetObj = e.Worksheets.get('Item', 'Sheet1');
num_rows = sheetObj.Range('A1').End('xlDown').Row
But num_rows = 1048576, instead of 1. please help, thank you!
If the file is empty, or contains data in only one row, then
.End('xlDown').Row;
will move to the very bottom of the sheet (1048576
is the number of rows in a Excel 2007+ sheet).Test if cell
A2
is empty first, and return0
if it is.Or use
Up
from the bottom of the sheetNote: I'm not sure of the Matlab syntax, so this may need some adjusting
You can use MATLAB's
xlsread
function to read in the spreadsheet. This obtains the following fields:if you do a
size
check onstrings
ormisc
, this should give you the following:testing this, I got
rows = 1
,columns = 10
(assuming nothing else was beyond 'A' in the spreadsheet).