If you create an Excel file using an HTML Table, then it exists a way to format the cells based on some CSS rules. Some examples can be found on this blog post.
I spent some time trying to figure out how to display correctly the dates, whatever your regional settings are ; for exemple in the USA the format is MM/dd/YYYY
, and for the rest of the world is dd/MM/YYYY
.
Finally I found that the content of the date cells must always be defined with the same format : YYY-MM-dd HH:mm
, and then we can apply a style like mso-number-format:"dd\-mmm\-yyyy\ hh\:mm"
.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | < html > < head > < style >br {mso-data-placement:same-cell} .xls-date {mso-number-format:"dd-mmm-yyyy hh:mm"}</ style > </ head > < body > < table > < tr > < th >Event Name</ th > < th >Event Date</ th > </ tr > < tr > < td >Birthday Party</ td > < td class = "xls-date" >2015-11-01 10:00</ td > </ tr > </ table > </ html > |
So the date cell will display: 01-Nov-2015 10:00
and will be interpreted as a Date cell by Excel.