Matlab在excel文件中的行数

时间:2012-04-14 23:05:11

标签: excel matlab rows

是否有一个Matlab命令来获取excel文件中写入的行数? 首先,我填写第一行。然后我想在excel文件中添加另一行。 所以这是我的excel文件: enter image description here

我试过了:

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。 请帮忙,谢谢!

2 个答案:

答案 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');

如果您对sizestrings进行misc检查,则应该提供以下信息:

[rows columns] = size(strings);

对此进行测试,我得到了rows = 1columns = 10(假设电子表格中没有任何其他内容超出“A”)。