Write data on to Excel
1 view (last 30 days)
Show older comments
Avishka G on 3 Apr 2020
Commented: Guillaume on 7 Apr 2020
I want to write the following data onto excel, in a way which the first answer (M(: , : , 1)) will be at the range E to G and the next answer (M(: , : , 2)) will be at the range I to K, so 4 column space between each.The sample data is below, is there a easier to do this as sometimes there might be more than 6 data sets.
X = ones(6).*(1:6);
Y = 2*ones(6).*(1:6);
Z = 3*ones(6).*(1:6);
M = permute(cat(3,X,Y,Z), [1 3 2]);
M= reshape(M, 6, );
Guillaume on 6 Apr 2020
If I understood correctly:
xlswrite(somefile, reshape([M, nan(size(M, 1), 1, size(M, 3))], 6, ), '', 'E1')
basically pad your 3D matrix with a column of NaNs. NaNs result in empty cells in the output spreadsheet.
Guillaume on 7 Apr 2020
That's a different arrangement than in your initial question where each row of the input ended up on a different row of excel whereas you want it all in one row.
L = [0, 70, 100, 150, 200];
N = reshape([L; nan(4, size(L, 2))], 1, )
This time, we're putting the nans below L and reshaping into a vector.
More Answers (0)
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!