在Excel (Response.contentType="application/vnd.ms-excel")
中打开HTML时,我需要实现以下功能:
到目前为止,我成功地将style="vnd.ms-excel.numberformat:0.00"
添加到相关的td单元格中。当我在Excel中右键单击它们时,单元格的内容会正确显示为数字,但公式不起作用。
如果成功,该技术将非常有用,因为任何Web Excel报告都可以根据自定义要求使用适当的公式进行用户增强。提前谢谢。
答案 0 :(得分:29)
如果您在页面中添加CSS类:
.num {
mso-number-format:General;
}
.date {
mso-number-format:"Short Date";
}
在你的TD上打那些课程,它有用吗?
<td class="num">34</td>
<td class="num">17.0</td>
<td class="date">12/17/2008</td> <!-- if you are playing with dates too -->
来自@Aaron的
答案 1 :(得分:16)
以下是Excel格式列表:Styling Excel cells with mso-number-format
答案 2 :(得分:4)
最好的方法是使用您需要的所有颜色/(条件)格式/公式来模拟Excel电子表格。
尽量保持简单,只留下最小的行等。
然后将Excel电子表格保存为“As Xml Spreadsheet”
然后你有一个模板来通过Xml构建电子表格。
我通常会清理从Excel工作簿保存的原始Xml中的样式。删除重复项并重命名。
然后,只需填充您拥有的任何数据源。
我不知道您编写的环境是什么,但在使用LINQ和Xml Literals的VB.NET中,这是一项非常简单的任务。
答案 3 :(得分:2)
如果您使用css class
添加它,有时会无效,请尝试使用Style
到您的TD
。我这样做是为了将列格式化为文本。像这样
style="mso-number-format:\@;"
对你来说就像
一样 mso-number-format:General
答案 4 :(得分:1)
我无法在此页面上获得任何答案,无法在Excel 2010中使用。我最终使用了这个。
<td x:num>123</td>
答案 5 :(得分:0)
更新:您还需要从包含数字或货币信息的td单元格中删除不间断空格(nbsp's),以使公式在Excel中对这些单元格起作用。所以问题就解决了。
答案 6 :(得分:-1)
mso-number-format:0 NO Decimals
mso-number-format:"\#\,\#\#0\.000" 3 Decimals
mso-number-format:"mm\/dd\/yy" Thousand comma with 3 decimals
mso-number-format:"mmmm\\ d\\\,\\ yyyy" Date7
mso-number-format:"m\/d\/yy\\ h\:mm\\ AM\/PM" Date9
文本列
"<td style=\"mso-number-format:'\@'\">"
或
<td style="mso-number-format:'\@'">