如何在导出为excel时显示前导零?
我正在通过更改内容types来创build一个Excel报告。
Response.ContentType = "application/vnd.ms-excel"
我有包含前导零的值。 问题是当输出为excel时,前导零缺失。
例如
000123 – > 123
我知道这可以通过Excel手动更改。 问题是我怎样才能完成这个编程?
将你的application/vnd.ms-excel
导出为HTML表格,它可以让你访问各种工作表格式选项:
使用:
Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
并发送如下内容:
<table border="1"> <caption>This is a caption, it appears centered across all columns</caption> <colgroup> <col width="100"> <col width="200"> </colgroup> <tr valign="bottom"> <td><b>Header 1</b></td> <td filter="all"><b>Header 2 (filterable)</b></td> </tr> <tr valign="top"> <td style="vnd.ms-excel.numberformat:$#,##0.00_)[semicolon]($#,##0.00)">1</td> <td style="vnd.ms-excel.numberformat:00000000">2</td> </tr> <tr valign="top"> <td style="vnd.ms-excel.numberformat:$#,##0_)[semicolon]($#,##0)">3</td> <td style="vnd.ms-excel.numberformat:00000000">4</td> </tr> <tr valign="top"> <td style="vnd.ms-excel.numberformat:$#,##0.00_)[semicolon]($#,##0.00)">-5</td> <td style="vnd.ms-excel.numberformat:00000000">2</td> </tr> <tr valign="top"> <td style="vnd.ms-excel.numberformat:$#,##0.00_)[semicolon][red]$#,##0.00">-7</td> <td style="vnd.ms-excel.numberformat:00000000">8</td> </tr> <tr valign="bottom"> <td formula="=sum(a2:a5)" style="vnd.ms-excel.numberformat:$#,##0.00_)[semicolon][red]$#,##0.00"></td> <td formula="=average(b2:b5)" style="vnd.ms-excel.numberformat:00000000"></td> </tr> </table>
请注意,通过使用HTML表格语法,您可以添加一列AutoFilter ,指定垂直行alignment,控制列的宽度,将列与<colspan>
(未显示)组合,添加公式并使用vnd指定列数据的格式。 ms-excel.numberformat 。 你甚至可以做交叉表(数据透视表) (未显示)。
我有一个链接到更全面的文档有关支持什么HTML标签和属性,以及他们做了什么,但我似乎错了。 如果其他人有一个很好的链接到这个微软的文档,请随时编辑我的答案或包括一个评论。
编辑:看来,你可以做更多的HTML / XML来build立复杂的Excel工作表。 我从来没有去过这么长的时间,但知道什么是可能的是有趣的。
我find了答案,你可以用引号括起来,并用等号前缀来保存前导零。
= “000123”
看到这里: Excel与领先的零和空间
导出列的前导'
(撇号)。