How to Split excel file with multi columns into equal smalller excel files using matlab
    4 views (last 30 days)
  
       Show older comments
    
Please how can splitting Excel file (n*m) into smallaer equal excel files by matalb
5 Comments
  dpb
      
      
 on 19 Oct 2019
				"... excel( around (500,000) rwos  , I need splitting them into seperate excel files in equal size , (for example each file arround 100000 rows"
Why do they need to be split into files, specifically?
Why not just process the parts desired in memory?
Answers (1)
  Payas Bahade
    
 on 21 Oct 2019
        Hi Furat,
I have written a code which can be used to split one large excel file into multiple smaller excel files. Following sample code splits given excel file into 3 smaller files of 50 rows each. 
inputFile = 'test11';% Input excel file name
M = 50; % Number of rows to be included in splitted excel files 
N = 3; % Number of files to be created
for k = 0:N-1
    outputFile = [ inputFile num2str(k+1,'%02i') '.xlsx' ];% Output file name
    cellRange=[ 'A' num2str(M*k+1) ':' 'D' num2str(M*k+M) ];% Defining area of input excel file to be written in output file
    X=readmatrix('test11.xlsx','Range',cellRange);% Reading required area in input excel file
    writematrix(X,outputFile);% Writing required area in output file
end
You can achieve your objectives by changing the above code as per your requirements.
Hope this helps!
6 Comments
  Payas Bahade
    
 on 31 Oct 2019
				Hi Furat,
To resolve the above issue of 'C' column not been read, specify 'OutputType' as 'string' in 'readmatrix' function. Please use code mentioned below:
inputFile = ('book1F');% Input excel file name
M = 100; % Number of rows to be included in splitted excel files 
N = 20; % Number of files to be created
for k = 0:N-1
    outputFile = [ inputFile num2str(k+1,'%02i') '.xlsx' ];% Output file name
    cellRange=[ 'A' num2str(M*k+1) ':' 'D' num2str(M*k+M) ];% Defining area of input excel file to be written in output file
    X=readmatrix('book1F.xlsx','Range',cellRange,'OutputType','string'); % Reading required area in input excel file
     writematrix(X,outputFile);% Writing required area in output file   
end
Hope this helps!
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!


