我有一个包含4张纸的Excel文件。
每张纸的格式相同,但内部数据不同。例如:
sheet1:
sub1 sub2 sub3
person1 2 3 4
person2 9 0 1
person3 8 4 2
sheet2:
sub1 sub2 sub3
person1 5 7 8
person2 1 3 7
person3 4 1 3
现在,我知道如何阅读1张数据:
[data, titles] = xlsread(FileName, 'sheet1');
但是,当我不知道文档中有多少张纸时,如何存储所有纸张中的所有数据?
答案 0 :(得分:4)
您可以使用https://regex101.com/r/eI8iK4/1获取工作表列表,然后循环显示该列表:
[status,sheets] = xlsfinfo(FileName)
for s = 1:numel(sheets)
...
[data,titles]=xlsread(FileName,sheets(s))
...
end
答案 1 :(得分:0)
不需要for
循环。 importdata
函数(在R2006a之前引入)可以轻松处理这种情况。例如,我有一个包含5张包含数据的excel文件,如下所示:
如您所见,它包含文本,数字和空格。在R2017b上,拨打
xlsData = importdata('name-of-file.xlsx');
会产生包含两个字段的struct
:data
(对于数字值,保留double
数组)和textdata
(对于文本,保留cell
数组),每个字段都对应Excel文件中的工作表名称。