【发布时间】:2011-03-30 16:19:54
【问题描述】:
我正在将数据从 vb.net 导出到 excel,当它显示在 excel 上时,它会丢弃前导零。如何避免前导零的丢失?我阅读了添加单引号的解决方案,但它使我的 excel 工作表列难看。如果他们在邮政编码字段上看到单引号,用户也会抱怨。 vb.net代码
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
存储过程输出XML,并经过XSLT转换后显示在EXCEL上
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<HEAD>
<STYLE type="text/css"> TABLE{table-layout: automatic; width:100%} .tblHeader{background-color:RGB(192,192,192);font-weight:bold} .row1{background-color:RGB(204,204,255)} .row2{background-color:RGB(153,204,255)} </STYLE>
</HEAD>
<BODY>
<TABLE border="1">
<THEAD>
<tr class="tblHeader">
<xsl:for-each select="*/*[1]/*">
<td>
<xsl:value-of select="."/>
</td>
</xsl:for-each>
</tr>
</THEAD>
<TBODY>
<xsl:for-each select="ClientArray/Client">
<TR>
<xsl:for-each select="*">
<TD>
<xsl:value-of select="."/>
</TD>
</xsl:for-each>
</TR>
</xsl:for-each>
</TBODY>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
除了添加单引号或使用列格式化程序(通用/数字)等操作 excel 表之外,请帮助我解决问题。我不希望用户对 excel 进行任何更改以正确显示 当从网页显示 excel 时,它应该全部设置为正确的格式。我们也无法控制客户端 excel 软件
【问题讨论】:
-
这是因为它是一个数字字段,而 Excel 会从其中去除前导零。您必须将其存储为文本,但除了使用前导 ' 我不确定您将如何做到这一点。
-
好吧,邮政编码是我数据库中的一个字符串字段,并作为字符串导出到 Excel。我还在想
标签: xml vb.net xslt export export-to-excel