How can I combine data in multiple excel files an write the combined data in a new excel file?

9 views (last 30 days)
I have in one folder a lot of excel files.Each of excel file contain data like this:(for example)
(First excel file)
1 2 3
1.1 2.2 3.3
80 90 91
(second excel file)
4 5 6
4.4 5.5 6.6
88 87 86
I want to combine only row 1 and row 2 to become like this in a newly created excel file.
1 2 3 4 5 6
1.1 2.2 3.3 4.4 5.5 6.6
Can someone help me to solve this problem.(Thank you)

Accepted Answer

Iman Ansari
Iman Ansari on 3 Apr 2013
Edited: Iman Ansari on 3 Apr 2013
Hi
a=xlsread('name1.xlsx');
b=xlsread('name2.xlsx');
N=[a(1:2,:) b(1:2,:)]
xlswrite('New.xlsx',N);
files with similar names (name1.xlsx,name2.xlsx,name3.xlsx,...):
b=[];
for i=1:n
name=['name' num2str(i) '.xlsx'];
a=xlsread(name);
b=[b a(1:2,:)];
end
xlswrite('New.xlsx',b);
  4 Comments
VIKAS POONIA
VIKAS POONIA on 19 Dec 2019
Hlo Sir,
First excel file
1 2 3
1.1 2.2 3.3
80 90 91
Second Excel file
4 5 6
4.4 5.5 6.6
88 87 86
I want to combine only first column of first and second excel file to make 1 excel file (save individually as 1.xlsx) and then second column of first and second excel file to make another excel file as 2.xlsx.
Can someone help me to solve this problem.

Sign in to comment.

More Answers (3)

KRUNAL
KRUNAL on 24 Jul 2014
What to do when you have files with same name i.e the two input files as well as the output file

Ahmad Bilal
Ahmad Bilal on 16 Jan 2019
If I have data in different sheets ( different sheets have different names) in one excel file. How i can modify this code?
b=[];
for i=1:n
name=['name' num2str(i) '.xlsx'];
a=xlsread(name);
b=[b a(1:2,:)];
end
xlswrite('New.xlsx',b);
  1 Comment
Ahmad Bilal
Ahmad Bilal on 16 Jan 2019
Until now I have developed this code:
[~,sheets] = xlsfinfo('C:\Users\Bilal Ahmad\Desktop\Complete Simulations\Microphone Array 1_AllSources\new_excel.xlsx');
for i =1:length(sheets)
data{i} = xlsread('C:\Users\Bilal Ahmad\Desktop\Complete Simulations\Microphone Array 1_AllSources\new_excel.xlsx',sheets{i},'C2:C4');
end

Sign in to comment.


Go Sugar
Go Sugar on 12 Aug 2022
Hey! What if I want to combine multiple inputs (60) raw by raw to one excel file without copying the variable names?
I want each subject (excel file) in a separate raw (not column). I tried the below code. It gives an error of "Dimensions of matrices being concatenated are not consistent".
for m=1:60
file= strcat('output',num2str(m),'.xlsx');
data=xlsread(file);
filedata=[data; data(m)];
alldata=table(filedata);
writetable(alldata, 'alldata.xlsx');
end
I appriciate your help. Thank you. :)

Community Treasure Hunt

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

Start Hunting!