20

Excel で HTML を開くときに、次のことを達成する必要があります(Response.contentType="application/vnd.ms-excel")

  • Excel に td セルの内容を数値として見なさせる
  • 上記を作成して、後続のユーザーが入力した数式がこれらのセルで機能するようにします (スプレッドシートが開いている場合)

style="vnd.ms-excel.numberformat:0.00"これまでのところ、問題の td セルへの追加に成功しました。Excelでセルを右クリックすると、セルの内容が数値として正しく表示されますが、数式は機能しません。

成功した場合、カスタム要件に従って適切な数式を使用して Web Excel レポートをユーザーが拡張できるため、この手法は非常に役立ちます。前もって感謝します。

4

7 に答える 7

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 からの追加の書式設定オプション。

于 2008-12-09T23:06:43.400 に答える
16

Excel形式のリストは次のとおりです。mso-number-formatを使用したExcelセルのスタイル設定

于 2009-07-22T15:34:24.113 に答える
5

最善の方法は、必要なすべての色/(条件付き) 書式/数式を含む Excel スプレッドシートをモックアップすることです。

最小限の行など、できるだけ単純にしてください。

次に、Excel スプレッドシートを「Xml スプレッドシートとして」保存します。

次に、Xml を介してスプレッドシートを作成するためのテンプレートを用意します。

私は通常、Excel ワークブックから保存された元の Xml のスタイルをクリーンアップします。重複を削除して名前を変更します。

次に、持っているデータソースを入力するだけです。

どの環境にコーディングしているのかわかりませんが、LINQ と Xml リテラルを使用する VB.NET では、これは非常に簡単な作業です。

于 2008-12-09T23:04:21.517 に答える
2

を使用して追加するとうまくいかない場合がcss classありStyleますTD。列をテキストにフォーマットするためにそれを行いました。このような

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

あなたにとっては次のようになります

  mso-number-format:General
于 2012-10-03T13:17:45.353 に答える
1

このページの回答を Excel 2010 で動作させることができませんでした。最終的にこれを使用しました。

<td x:num>123</td>

于 2015-07-22T03:45:27.653 に答える
0

更新: 数値または金額情報を含む td セルから改行なしスペース (nbsp) を削除して、Excel のこれらのセルで数式を機能させる必要もあります。それで問題は解決しました。

于 2008-12-10T18:42:49.937 に答える