【问题标题】:HTML to Excel: How can tell Excel to treat columns as numbers?HTML 到 Excel:如何告诉 Excel 将列视为数字?
【发布时间】:2010-09-26 03:37:15
【问题描述】:

在 Excel (Response.contentType="application/vnd.ms-excel") 中打开 HTML 时需要实现以下目标:

  • 强制 Excel 将 td 单元格的内容视为数字
  • 进行上述操作,以便任何后续用户输入的公式都适用于这些单元格(打开电子表格时)

到目前为止,我成功地将style="vnd.ms-excel.numberformat:0.00" 添加到有问题的 td 单元格中。当我在 Excel 中右键单击单元格时,单元格的内容正确显示为数字,但是公式不起作用。

如果成功,该技术将非常有用,因为用户可以根据自定义要求使用适当的公式对任何 Web Excel 报表进行增强。提前致谢。

【问题讨论】:

    标签: html excel formatting numbers formulas


    【解决方案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:'\@'">
    

    【讨论】:

      【解决方案2】:

      我无法在此页面上获得任何在 Excel 2010 中工作的答案。我最终使用了这个。

      &lt;td x:num&gt;123&lt;/td&gt;

      【讨论】:

        【解决方案3】:

        如果您使用css class 添加它,有时它不起作用,在这种情况下尝试使用Style 到您的TD。我这样做是为了将一列格式化为文本。像这样

         style="mso-number-format:\@;"
        

        对你来说是这样的

          mso-number-format:General
        

        【讨论】:

          【解决方案4】:

          如果您在页面中添加 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 的Additional formatting options

          【讨论】:

          【解决方案5】:

          这里是 Excel 格式列表:Styling Excel cells with mso-number-format

          【讨论】:

            【解决方案6】:

            更新:您还需要从包含数字或货币信息的 td 单元格中删除不间断空格 (nbsp's),以使公式适用于 Excel 中的这些单元格。这样问题就解决了。

            【讨论】:

            • 哪个答案是您的解决方案? (除了删除不间断的空格)还是唯一的问题?
            【解决方案7】:

            最好的技巧是用你需要的所有颜色/(条件)格式/公式来模拟一个 Excel 电子表格。

            保持尽可能简单,只是最少的行等。

            然后将 Excel 电子表格保存为“作为 Xml 电子表格”

            然后你就有了一个通过 Xml 构建电子表格的模板。

            我通常会清理从 Excel 工作簿保存的原始 Xml 中的样式。删除重复项并重命名它们。

            然后,只需使用您拥有的任何数据源进行填充即可。

            我不知道您要编码的环境是什么,但在带有 LINQ 和 Xml Literals 的 VB.NET 中,这是一项非常简单的任务。

            【讨论】:

              猜你喜欢
              • 2014-07-20
              • 2013-05-02
              • 2015-11-20
              • 2020-03-29
              • 2018-05-01
              • 1970-01-01
              • 1970-01-01
              • 2014-02-09
              • 1970-01-01
              相关资源
              最近更新 更多