How to load multiple excel files with multiple excel sheets and store it in matlab faster?
2 views (last 30 days)
Show older comments
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
0 Comments
Answers (2)
Subhadeep Koley
on 6 Feb 2020
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
on 9 Feb 2020
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
See Also
Categories
Find more on Spreadsheets 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!