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?

 Réponse acceptée

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 commentaires

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 le 13 Avr 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by