How can I write in excel multiple columns as vectors?
이전 댓글 표시
First of all, thanks for reading this. Well, I have a gui that writes columns in a new excel spreadsheet concatenating them in a matrix, but I don't know how many columns will the user write in that excel file. I'm using xlswrite.
The sintax that I think I could use for concatenation is:
Y=[X1,X2,X3,...,Xn]
I hope I had been explicit with my question. Greetings.
답변 (2개)
Sara
2014년 7월 8일
You can create dynamically the range to write to. For instance, starting from A1:
xlswrite('myfile.xlsx',Y, ['A1:',char(64+size(Y,2)),':',num2str(size(Y,1))])
Image Analyst
2014년 7월 8일
편집: Image Analyst
2014년 7월 8일
Simply create your Y any way you'd like, such as you did. Then call xlswrite
xlswrite(filename, Y, 'A1');
'A1' is the upper left cell in Excel where you want to put the upper left cell of your array - you can make it whatever/wherever you want. It doesn't care how many rows or columns are in Y - it will put them all in there. You don't need to do what Sara did, and you don't need to specify the lower right cell unless you want to export just a portion of Y and not the full array.
댓글 수: 9
Sara
2014년 7월 8일
I didn't know you could just specify the upper corner, that's useful to know.
Edgar
2014년 7월 9일
Sara
2014년 7월 9일
I don't understand, if those vector are in Y, what do you need?
Edgar
2014년 7월 9일
Sara
2014년 7월 9일
Let's start over. How are those arrays created by the user? How do you get them? Is that thru a GUI, an input excel file, command window,...?
Image Analyst
2014년 7월 9일
Do you have the Xn or not? Do you have the Y or not? If you just want to append some variable number, then use
Y = [Y, thisX]; % Tack on thisX.
For example if you want to make Y the columns between 4 and 9 of some array:
for col = 4 : 9
thisX = array2d(:, col);
if col == 4
Y = thisX; % First column so initialize - nothing to append onto yet.
else
Y = [Y, thisX]; % Append/stitch on thisX to existing Y.
end
end
Edgar
2014년 7월 9일
Sara
2014년 7월 9일
Once the new variable is created, you can concatenate that directly to Y, which will be saved as a field of handles as handles.Y and print it out when the user leaves the GUI. You'll need to create handles.Y = [] in the gui opening function and keep concatenating all the variables the user creates. Is that clear, is that what you want?
Edgar
2014년 7월 11일
카테고리
도움말 센터 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!