5

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

4

2 回答 2

4

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

先测试cellA2是否为空,0如果是则返回。

Up从工作表底部使用

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

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

于 2012-04-14T23:27:02.203 回答
2

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

[numbers strings misc] = xlsread('myfile.xlsx');

如果您对or进行size检查,这应该会为您提供以下信息:stringsmisc

[rows columns] = size(strings);

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

于 2012-09-06T21:40:24.920 回答