Convert multiple csv to xls files.
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    avantika
 el 25 de Oct. de 2013
  
    
    
    
    
    Comentada: Marcos dos Santos
 el 16 de Abr. de 2021
            Hi!
I have a folder containing many excel files ( more than 200) in csv format . I need to write all these files in xls format.
Can this be done in matlab . Can anyone please help.
Thanks in advance
0 comentarios
Respuesta aceptada
  Azzi Abdelmalek
      
      
 el 25 de Oct. de 2013
        
      Editada: Azzi Abdelmalek
      
      
 el 25 de Oct. de 2013
  
      yourfolder='E:\matlab'
d=dir([yourfolder '\*.csv']);
files={d.name};
for k=1:numel(files)
   old_name=files{k}; 
   [~,~,b] = xlsread(old_name) ;
   new_name=strrep(old_name,'csv','xls')
   xlswrite(new_name,b);
end
7 comentarios
  Walter Roberson
      
      
 el 1 de Jun. de 2018
				More correct would be
yourfolder = 'E:\matlab'
d = dir(fullfile(yourfolder, '*.csv'));
files = {d.name};
for k=1:numel(files)
 old_name = files{k}; 
 [~,~,b] = xlsread( fullfile(yourfolder, old_name)) ;
 new_name = strrep(old_name,'csv','xls')  
 new_folder = 'E:\another'
 new_file = fullfile(new_folder, new_name)
 xlswrite(new_file,b);
end
  Onur ALPAY
 el 8 de Dic. de 2020
				Hi,
I am using MATLAB 2019a version and it looks there is no problem with version. I try this code but I realized that the below code doesn't work. It gives me the same file name. Do you have any experiance about that?
new_name = strrep(old_name,'csv','xls')  
Más respuestas (2)
  Fabian Neira
 el 1 de Jun. de 2018
        I got the following error "File name must be a character vector" when using the code.
1 comentario
  Lotan Jackson
 el 25 de Ag. de 2020
        Hi everyone, I know this is an old question but I had to adjust things for either the newest version or being on a newest matlab version. Here's the code. I placed all the files in the folder with the script.
file = dir('*.csv'); 
s= size(file,1);
for i= 1:s
    Data = readtable(file(i).name);
    filename=file(i).name;
    filename= filename(1:end-5); 
    writetable(Data,[filename '.xls']);
end;
Hope this helps anyone in the future. :) 
1 comentario
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!








