使用 html for excel 2013 和自定义货币格式

Using html for excel 2013 with Custom format for currency

我正在使用 HTML.

从我的网站导出数据到 excel

对于货币,我使用以下 class:

.DDD {
            mso-number-format: '[=12=]22$[=12=]22\#\,\#\#0\.00';
        }

当我在 excel 2007-2010 年打开它时,行为正常。 (我看到带有货币的数字,但是当我编辑单元格时,你可以看到它是一个数字 - 所以你可以在上面使用像 Sum() 这样的函数) 但是,当我在 excel 2013 年打开它时,我无法使用函数,并且我看到单元格值为“$10.00”(而不是 10.00)- 所以它不是数字。

我在这个例子中使用“$”,实际货币是 NIS(“₪”)

有没有办法让它适用于所有 excel 人?

我的相关 HTML 是:

<table>
 <tr>
  <td class="DDD">
    <span>$</span>
    <span>1234.56</span>
  </td>
 <tr>
</table>

最后我用货币删除了跨度,它在所有 excel 上都能正常工作。

你能把 HTML 给这个 CSS 看吗?

因为如果我有:

<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">

<style>
.DDD {
 mso-number-format:"[=10=]22₪[=10=]22\#,\#\#0\.00";
}
</style>

<table>
 <tr>
  <td class="DDD">1234.56</td>
 <tr>
</table>

那么 Excel 看起来像:

2016 年 Excel。这是德国人 Excel。所以1234,56是一个数字。

我不相信 Excel 2013 年与此有很大不同。


如果还需要在浏览器视图中显示格式,那么您可以:

<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">

<style>
.DDD {
 mso-number-format: "[=11=]22₪[=11=]22#,##0.00";
 font-size: 2em;
}
.DDD::before {
 content: "₪";
}
.DDD .thousand::before {
 content: ",";
}
</style>

<table>
 <tr>
  <td class="DDD">1<span class="thousand">234</span>.56</td>
 <tr>
</table>

但更好的方法是将视图要求与数据导出要求严格分开。所以要有不同的格式来查看和数据导出。综上所述,不是 使用 HTML 进行数据导出,而是 XML 或更好的所需格式 - Excel 在这种情况下 - 直接.