Filter löschen
Filter löschen

loading multiple excel files in a loop

1 Ansicht (letzte 30 Tage)
Brian
Brian am 15 Jul. 2011
Kommentiert: Himmat am 18 Sep. 2015
I have thousands of excel files that contain data in a 1440x~35 array. I only need a few columns in each file. The excel files are logically ordered with the pattern 1018ahua.xls, 1019ahua.xls, etc. I have tried loading columns in a loop using the xlsread command in a variety of ways and am always unable to do it. I use Matlab R2010b. Can anyone help me?

Akzeptierte Antwort

Friedrich
Friedrich am 15 Jul. 2011
Hi,
first of all doing a xlsread in a loop is a bad idea since you always open and close the EXCEL COM Server. You have to do it manually in a better way, like:
%open Excel
ex = actxserver('excel.application');
for i=1:thousands_of_excel_files
ex.Workbooks.Open('C:\absolut_path_to file\filename.xls')
out = get(ex.Range('B3:D6'),'Value')
end
ex.Quit
So if its really ordered like 1018ahua.xls, 1019ahua.xls and so on you can do
%open Excel
ex = actxserver('excel.application');
for i=1018:thousands_of_excel_files
ex.Workbooks.Open(['C:\absolut_path_to file\',num2str(i),'ahua.xls'])
out = get(ex.Range('B3:D6'),'Value')
end
ex.Quit
  4 Kommentare
Image Analyst
Image Analyst am 20 Aug. 2014
Katerina, start your own thread and attach your code (m-file) and full description of what "does not work" means to you (screenshots, error messages, etc.)
Himmat
Himmat am 18 Sep. 2015
Hello Fredrich, I tried to use this code and facing a problem that output data is only from last excel sheet. I want to import column 1 and 3 from each excel file from a group of 10 and put it in one matrix. Can you suggest a way to do it. Thank you for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sean de Wolski
Sean de Wolski am 15 Jul. 2011
Have you read: FAQ4.12?

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by