是否有一个Matlab命令来获取excel文件中写入的行数? 首先,我填写第一行。然后我想在excel文件中添加另一行。 所以这是我的excel文件:
我试过了:
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
但是num_rows = 1048576,而不是1。 请帮忙,谢谢!
答案 0 :(得分:4)
如果文件为空,或仅包含一行数据,则.End('xlDown').Row;
将移至工作表的最底部(1048576
是Excel 2007+表中的行数) 。
首先测试单元格A2
是否为空,如果是,则返回0
。
或者使用表格底部的Up
num_rows = sheetObj.Cells(sheetObj.Rows.Count, 1).End('xlUp').Row
注意:我不确定Matlab的语法,所以这可能需要一些调整
答案 1 :(得分:2)
您可以使用MATLAB的xlsread
函数读取电子表格。这将获得以下字段:
[numbers strings misc] = xlsread('myfile.xlsx');
如果您对size
或strings
进行misc
检查,则应该提供以下信息:
[rows columns] = size(strings);
对此进行测试,我得到了rows = 1
,columns = 10
(假设电子表格中没有任何其他内容超出“A”)。