excel文件中的Matlab行数

excel文件中的Matlab行数,excel,matlab,rows,Excel,Matlab,Rows,是否有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',

是否有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。
请帮忙,谢谢

如果文件为空,或仅包含一行数据,则
.End('xlDown').row
将移动到工作表的最底部(
1048576
是Excel 2007+工作表中的行数)

首先测试单元格
A2
是否为空,如果为空,则返回
0

或者使用工作表底部的
Up

num_rows = sheetObj.Cells(sheetObj.Rows.Count, 1).End('xlUp').Row 

注意:我不确定Matlab语法,因此这可能需要一些调整

您可以使用Matlab的
xlsread
函数在电子表格中读取。这将获得以下字段:

[numbers strings misc] = xlsread('myfile.xlsx');
如果对
字符串
杂项
执行
大小
检查,则应提供以下信息:

[rows columns] = size(strings);

通过测试,我得到了
行=1
列=10
(假设电子表格中除“A”之外没有其他内容)。

您的文件真的是空的吗?有时,您可以在excel中创建空白单元格,但无法确定它们是否存在。创建一个新文件并用它测试代码,看看会发生什么。@Castilho我尝试了你的建议,但num_rows仍然等于1048576。谢谢。只有一行的行为与没有数据的行为相同(请尝试在excel中按住Ctrl键查看其工作方式)查看我的编辑