How to load multiple excel files with multiple excel sheets and store it in matlab faster?

2 ビュー (過去 30 日間)
I need to load around 50 excel files and each files has like 100+ sheets.
I need to store all this data in variables in my program.
This is the program i have written , I am using activex server and readtable but still it takes around 5 minutes for one excel file.
for i=1:numSheets
t1{1,i} = readtable(fullFileName, 'Sheet', i);
end

回答 (2 件)

Subhadeep Koley
Subhadeep Koley 2020 年 2 月 6 日
If you have Parallel Computing Toolbox you can use parfor loop instead of normal for loop. That might decrease the time to read the files.
parfor i = 1:numSheets
t1{:, i} = readtable(fullFileName, 'Sheet', i);
end

Yair Altman
Yair Altman 2020 年 2 月 9 日
Try to use the 'basic' mode of xlsread, which reads the XLS file directly instead of using the much slower Excel instance:
for i=1:numSheets
[~,~,t1{1,i}] = xlsread(fullFileName, i, '', 'basic');
end

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by