MATLAB: Is the leading zero dropped when I write a string of numbers to Excel

excelleadingMATLABzero

I am trying to write a date string to an Excel file. I use the following command to create a date string:
a = {datestr(date, 'yymmdd')} % date in format yymmdd
This returns a 1×1 cell containing the string '051019', for example, which has a leading zero.
If I write this to an Excel file with the following command:
xlswrite('a.xls', a)
cell A1 of the spreadsheet contains the following:
51019
The leading zero has been dropped.

Best Answer

This behavior is caused by the way in which Excel discards leading zeros in numbers. To work around this issue, place a single quote before the string, which specifies to Excel that the following value should be entered as text. For example:
a = {['''',datestr(date, 'yymmdd')]}; % concatenate a single quotation to date string
xlswrite('a.xls',a);
This approach does not preclude Excel's ability to perform mathematical operations on the inserted data.