How to store a number of arrays in excel file?

4 vues (au cours des 30 derniers jours)
nl2605
nl2605 le 19 Juil 2013
Hallo Everyone
I am writing data into an excel file. However, the range of the data to be stored keeps changing and I want to change the range in the xlswrite command accordingly. Any ideas what can be done?
For example:
A=data1; % 1 by 12 matrix(present). However, data1 is a matrix whose rows and column numbers keep on changing
xlswrite(filename,A,'sheet1','A1:A12');
I want to change this range 'A1:A12' as the data1 keeps changing.
Thanks a lot.

Réponse acceptée

Vishal Rane
Vishal Rane le 19 Juil 2013
Modifié(e) : Vishal Rane le 19 Juil 2013
Dim = size(data1); % output is [ m, n]
Range = ['A1:',strrep([char(64+floor(Dim(2)/26)),char(64+rem(Dim(2),26))],'@',''),num2str(Dim(1))] % Range required for data1
xlswrite( filename, data1, 'sheet1', Range);
You will have to put a check for upper and lower limit since excel 10 supports 256 cols and 65536 rows only.
  2 commentaires
Jan
Jan le 19 Juil 2013
Modifié(e) : Jan le 19 Juil 2013
char(64+Dim(2)) is a very bad idea. E.g. what happens if Dim(2) is 65 ?!
Vishal Rane
Vishal Rane le 19 Juil 2013
Modifié(e) : Vishal Rane le 19 Juil 2013
oops ! evidently i did'nt think that through !
Answer updated !

Connectez-vous pour commenter.

Plus de réponses (1)

nl2605
nl2605 le 19 Juil 2013
I used sprintf instead. And its working too. Thanks a lot. Also, isn't there any other method by which we can write all the data being generated into an excel file without worrying about the dimensions?

Community Treasure Hunt

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

Start Hunting!

Translated by