我正在通过更改内容类型来创建Excel报告。如何在导出为excel时显示前导零?
Response.ContentType = "application/vnd.ms-excel"
我有值包含前导零。问题在于导出为excel时,前导零缺失。
例如
00- > 123
我知道这可以通过excel手动更改。问题是我如何以编程方式完成此任务?
我正在通过更改内容类型来创建Excel报告。如何在导出为excel时显示前导零?
Response.ContentType = "application/vnd.ms-excel"
我有值包含前导零。问题在于导出为excel时,前导零缺失。
例如
00- > 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表格的语法可以添加column AutoFilter,指定纵行对准,控制列的宽度,与<colspan>
(未示出)中,添加formulas和指定列的数据的格式与结合柱vnd.ms-excel.numberformat。你甚至可以做Crosstab (PivotTables)(未显示)。
我有一个链接到更全面的文档有关什么HTML标签和属性支持,他们做什么,但我似乎错了。如果其他人有与此有关的Microsoft文档的良好链接,请随时致电edit my answer或发表评论。
编辑:看来你可以做a lot more with HTML/XML构建复杂的Excel工作表。我从来没有去过这么长的时间,但知道什么是可能的,这很有趣。
谢谢你。虽然我的回答服务于我的目的,但这绝对是正确的方式。 – Tesseract 2009-07-31 14:03:15