Writing cell of dates to Excel file

13 views (last 30 days)
I have a cell of dates (characters - 4700x1 cell) formatted as mm/dd/yyyy. When I attempt to write to an Excel file using xlswrite, it places all the dates in one cell, with line breaks for each backslash. How might I get an Excel file with each date as a separate row within the same column?

Accepted Answer

Adam Drake
Adam Drake on 2 Apr 2023
Recommend using writecell and readcell instead. If you can't I will reinvestigate. Ex:
Y = [2014;2013;2012];
M = [01;02;03];
D = [31;30;31];
t = datetime(Y,M,D,'Format','MM/dd/yyyy');
datecells = cellstr(t);
filename = 'text.xlsx';
sheet = 1;
xlRange = 'B1';
writecell(datecells,filename,'Sheet',sheet,'Range',xlRange)
readcell(filename,'Sheet',sheet,'Range',xlRange)
ans = 3×1 cell array
{'01/31/2014'} {'03/02/2013'} {'03/31/2012'}
  2 Comments
Peter Perkins
Peter Perkins on 5 Apr 2023
There's no need to create that cell array, at least in recent versions of MATLAB:
writematrix(t,filename,'Sheet',sheet,'Range',xlRange)
Adam Drake
Adam Drake on 13 Apr 2023
The question was that they already had a cell of dates. I was just providing an example of using writecell. Everything before that was just to set that up.

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!