EXCELのスプレッドシートを一気に読み取る方法
17 views (last 30 days)
Show older comments
%今このようにして、Excelのシートを読み取っているのですが、全て一度に読み取ることができる関数を教えて欲しいです。
%多分、for文でできると思うのですが、やり方がわからず教えていただきたいです。
Excel_name = '試験結果.xlsx';
temp1 = readmatrix(Excel_name,'sheet', 'ma曲げ', 'range', 7);
temp2 = readmatrix(Excel_name,'sheet', 'mo曲げ', 'range', 7);
temp3 = readmatrix(Excel_name,'sheet', 'ma座屈', 'range', 7);
temp4 = readmatrix(Excel_name,'sheet', 'mo座屈', 'range', 7);
temp5 = readmatrix(Excel_name,'sheet', 'ma縦圧縮', 'range', 7);
temp6 = readmatrix(Excel_name,'sheet', 'mo縦圧縮', 'range', 7);
temp7 = readmatrix(Excel_name,'sheet', 'FEM解析_ma', 'range', 7);
temp8 = readmatrix(Excel_name,'sheet', 'FEM解析_mo', 'range', 7);
0 Comments
Answers (1)
Atsushi Ueno
on 17 May 2023
シート名は代わりに数値(1,2,3,...)にする事も可能ですが、どのデータがどのシートか分からなくなりそうですね。
%今このようにして、Excelのシートを読み取っているのですが、全て一度に読み取ることができる関数を教えて欲しいです。
%多分、for文でできると思うのですが、やり方がわからず教えていただきたいです。
Excel_name = '試験結果.xlsx';
Sheet_name = {'ma曲げ','mo曲げ','ma座屈','mo座屈','ma縦圧縮','mo縦圧縮','FEM解析_ma','FEM解析_mo'};
for k = 1:numel(Sheet_name)
temp{k} = readmatrix(Excel_name,'sheet', Sheet_name{k}, 'range', 7);
end
2 Comments
Atsushi Ueno
on 17 May 2023
sheetnames 関数を使えばシート番号順のシート名リストを得られるのだそうです。これなら安心してシート番号によるアクセスが出来ますね。
Sheet_name = sheetnames('試験結果.xlsx')
% 下記と順序が一致するか要チェック
% 文字ベクトルの cell 配列(上)ではなくstring 配列(下)になるので注意
% {'ma曲げ','mo曲げ','ma座屈','mo座屈','ma縦圧縮','mo縦圧縮','FEM解析_ma','FEM解析_mo'};
% ["ma曲げ","mo曲げ","ma座屈","mo座屈","ma縦圧縮","mo縦圧縮","FEM解析_ma","FEM解析_mo"];
See Also
Categories
Find more on スプレッドシート in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!