Convert cell array to excel - problem with nested cells
显示 更早的评论
Hello!
I really need to write this data from a cell array into an excel file (you can find it attached or in the printscreen). I've used
xlswrite('data.xls', M2)
and
writecell(M2, 'data.xls')
and nothing works because I have nested cells and all with different sizes, some even empty. How can this work?
I need data to be separated like this in the excel:
line1 = M{1,1}
line 2 = M{2,1}
line 3 = M{3,1}
line 4 = M{1,2}
line 5 = M{2,2}
line 6 = M{3,2}
...and so on...
Please help!

2 个评论
dpb
2021-10-17
You'll have to unnest them first.
Probably an explicit loop or loops will be needed.
BUT--
You can NOT put an array into a single cell in Excel if that is what you're trying to do.
Melissa Jones
2021-10-17
采纳的回答
更多回答(1 个)
Walter Roberson
2021-10-17
0 个投票
You have several options:
- write each cell entry as text, perhaps using M2s = cellfun(@mat2str, M2, 'uniform', 0) . If you do that, then Excel will not be able to interpret the results as numeric
- Provided that you do not have any natural "nan" entries, convert each entry into a column and append a nan to it, and combine the entries. You might need to pad each column to the same length using nan. So the first column would contain 52 double, then a nan, then 34 double, then a nan, then 6 nan (longest column would be 92 entries)
- find the widest column and pad each of them out to that size. Then rearrange the entries into continuous columns. Your widest is 74 columns, so you would pad each of the 1 x N out to be 1 x 72, using NaN as your padding; then you would rearrange to a cell containing a letter, then 72 cells with numeric values, then another 72 cells of numeric values, and each column would have that length.
- expand the first column into 52 columns (of 3 rows), expand the second column into 74 columns, the third into 60 columns, and so on, with the number of new colums needed being equal to the widest row in that column. You might need to put in a new row that indicates which original column each entry belonged to.
类别
在 帮助中心 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!