我正在尝试修复工作中的错误,在经典ASP中呈现HTML表格,然后将其作为Excel文件发送到客户端。我将保留整个源代码示例,但基本上我们有一列是字母数字,但当值以一个或多个零开始时,零会消失。我知道这是处理数字的标准Excel行为,但我希望它将值视为文本。我怎么能这样做?
Response.Write("<td class='tdsmall' align='left' NOWRAP>" & rsPODetail("ITM_ID") & "</td>")
HTML | EXCEL
00212704 | 212704个
00212336 | 212336个
00212251 | 212251
答案 0 :(得分:10)
只需在表格前添加一行
Response.Write("<style> TD { mso-number-format:\@; } </style>");
答案 1 :(得分:7)
也许试试=“00212704”
Response.Write("<td class='tdsmall' align='left' NOWRAP>=""" & rsPODetail("ITM_ID") & """</td>")
答案 2 :(得分:4)
不需要修改表格内容的一个选项是使用mso-number-format
CSS样式,如this SO answer所述。对于文本,您可以使用以下内容:
CSS:
.xlText {
mso-number-format: "\@";
}
HTML:
<td class="xlText">00030</td>
答案 3 :(得分:1)
把风格放在html的头上。 TD {mso-number-format:\ @; }
所有表格单元格都将转换为文本。
答案 4 :(得分:0)
excel会将数字视为文本,如果您在数字前加上单引号,例如“001234
可能会帮助您解决问题
答案 5 :(得分:0)
您可以将其作为.csv文件呈现并在客户端下载吗?编辑:废话,这不起作用。
实际上,你不能做任何不会成为黑客的事情,因为IE和Excel并没有真正以标准格式“对话”。这是Excel中的客户端问题,您正在尝试这样做 覆盖默认行为。
您可能需要做的是创建一个Excel模板文件,将其保存到Web服务器,然后编写一个脚本来复制excel文件,进行更改并将其发送给用户。这样你就可以控制数字格式。