如何在导出为ex​​cel时显示前导零?

我正在通过更改内容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与领先的零和空间

导出列的前导' (撇号)。