How to write to csv with full display of date format

5 views (last 30 days)
Hi, I have the following data,and I want to write to csv as it is (i mean date also with full display).
a={'name1' '2016/3/18 20:24:45.678' '23'}
I use the following command,
xlswrite('outputData.csv',a)
But I lose the date format (display), I am getting the following output in csv file:
name1 24:45.7 23
How to retain the date dispaly (2016/3/18 20:24:45.678, not as 24:45.7). Please help some one.
Sincerely, Mekala

Answers (1)

Jan
Jan on 19 Mar 2016
It works as expected under Matlab 2015b and Office 2010, so I guess your file is okay, but you display it in Excel, which has the power to show dates with smart filters.
But note, that the created file is not a CSV file, but an Excel file. If you want a CSV file, using csvwrite or dlmwrite will fail also, because they do not treat the cell string correctly.
Therefore a hard coding might be useful:
fid = fopen(FileName, 'w');
if fid == -1, error('Cannot open file for writing: %s', FileName); end
fprintf('%s,%s,%s\n', a{:});
fclose(fid);
  4 Comments
Stephen23
Stephen23 on 19 Mar 2016
Or avoid cd and the bad habits that it allows, by using pwd:
fullfile(pwd,...)
Kanakaiah Jakkula
Kanakaiah Jakkula on 19 Mar 2016
Edited: Kanakaiah Jakkula on 19 Mar 2016
Sir,
How can I write to ".xlsx" file, Because that is my main issue, I want to write to ".xlsx" and retain the date dispaly. Sincerely,

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!