Need help understanding xlswrite function

1 view (last 30 days)
Hello,
I am trying to convert a cell matrix that contains individual words of a sentence into an excel spreadsheet. Each sentence has varying number of words, but empty cells are placed to retain proper amount of columns. For some reason, the function of xlswrite creates a spreadsheet that is blank and I do not understand why. Attached is the cell matrix and its coresponding excel sheet to help orient what the problem looks like. Also, I do see that the excel file highlights the range of the cell matrix, but there are no contents. Furthermore, I am using MATLAB2015a
Thanks!
  1 Comment
Geoff Hayes
Geoff Hayes on 1 Oct 2021
@Brian Nguyen - please post the code that you are using to write the data (from the mat file) to the Excel spreadsheet.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 1 Oct 2021
Your Sentence_list is a cell array that contains cell arrays.
SL = arrayfun(@(C) C{1}, Sentence_list);
xlswrite('Score_sheet.xls', SL)
  2 Comments
Brian Nguyen
Brian Nguyen on 1 Oct 2021
Hello! So this works, but I am confused how. Does arrayfun() acess each element of the cell array?
Walter Roberson
Walter Roberson on 1 Oct 2021
A cell array is a kind of array, so arrayfun can access the elements. The elements are cell arrays, that in this case happen to store cell arrays. C{1} is pulling out the inner cell array.
You might possibly be able to instead use
SL = cellfun(@(C) C, Sentence_list) %notice the lack of 'uniform', 0

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!