How to: For loops for Excel Tab
2 次查看(过去 30 天)
显示 更早的评论
I need to read some data out of couple excel tabs (1 file). The only thing that changes is the tabname. The code works, but it becomes too long if you going to read 6 tabs, so i want it in a for loop then varie the tabname. What i want saved of each tab is: the num(2,13) (second line in code) and sum (last line). How can I do this easiest way?
[num, txt]=xlsread(filename,'*Tabname*');
*Tabname*=num(2,13);
long code
*sumTabname*=sum(numeachcell);
0 个评论
采纳的回答
Laura Proctor
2012-12-24
If you know the names of your sheets, you can create a cell array containing those names. The output from the xlsread function will contain only the numeric data from the spreadsheet, and it is read into a cell in the variable data. I also created a variable named sums that contains the sum of all the data.
filename = 'Book1.xlsx';
sheetnames = { 'SheetA','SheetB','SheetC' };
n = length(sheetnames);
data = cell(n,1);
sums = zeros(n,1);
for idx = 1:n
data{idx} = xlsread(filename,sheetnames{idx});
sums(idx) = sum(data{idx}(:));
end
更多回答(3 个)
Laura Proctor
2012-12-24
I'm not sure exactly what you are asking with regard to num(2,13). But here is some code that will read in different tabs of an Excel file in a loop and can hopefully get you started.
filename = 'Book1.xlsx';
data = cell(3,1);
for idx = 1:3
sheetname = ['Sheet',num2str(idx)];
data{idx} = xlsread(filename,sheetname);
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!