HTML to Excel: How can tell Excel to treat columns as numbers?

Wheelwright picture Wheelwright · Dec 9, 2008 · Viewed 41.9k times · Source

I need to achieve the following when opening an HTML in Excel (Response.contentType="application/vnd.ms-excel") :

  • force Excel to consider content of td cells as numbers
  • make the above so that any subsequent user-entered formulas work on these cells (when the spreadsheet is opened)

So far I was successful with adding style="vnd.ms-excel.numberformat:0.00" to the td cells in question. The contents of the cells are correctly shown as numbers when I right click on them in the Excel, however the formulas don't work.

If successful, that technique would be quite useful because any web Excel report could be user enhanced with appropriate formulas according to custom requirements. Thanks in advance.

Answer

scunliffe picture scunliffe · Dec 10, 2008

If you add a CSS Class to your page:

.num {
  mso-number-format:General;
}
.date {
  mso-number-format:"Short Date";
}

And slap those classes on your TD's, does it work?

<td class="num">34</td>
<td class="num">17.0</td>
<td class="date">12/17/2008</td> <!-- if you are playing with dates too -->

Update: Additional formatting options from @Aaron.