Xlswrite in a loop

3 views (last 30 days)
Rene
Rene on 22 Mar 2013
Hello,
I want to include xlswrite in a loop. For each pass through the loop, I will write two columns of data to the same Excel sheet. The columns will be continuous. For a few columns I can manually specify the columns to which I write the data. So first pass I will write to cells A1:B12, second pass C1:D12, and so on.
Is there some function in matlab that has the alphabet? I could then call this function and get the letters from the alphabet. I could then generate the ID of the Excel columns automatically.
Thanks so much!

Accepted Answer

per isakson
per isakson on 22 Mar 2013
>> alphabet = 'A':'Z';
>> alphabet(4)
ans =
D

More Answers (1)

Cedric
Cedric on 22 Mar 2013
Edited: Cedric on 22 Mar 2013
It would be more efficient to build an array (or a cell array if you have inhomogeneous/non-numeric content) in the loop, and to export the whole array in one shot at the end. This way, you avoid having to build these complicated column codes. Example:
nBlock = 5 ;
blockSize = [12, 2] ;
content = zeros(blockSize(1), nBlock*blockSize(2)) ;
for k = 1 : nBlock
rowRange = 1 : blockSize(1) ;
colRange = [1,2] + (k-1)*blockSize(2) ;
block = 10*k + rand(blockSize) ; % Some random content.
content(rowRange,colRange) = block ;
end
% One shot output to XLSX file; observe that there is no range information.
xlswrite('myFile.xlsx', content, 'RandomWithOffset') ;

Community Treasure Hunt

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

Start Hunting!