[解決済み] EPPlusの番号形式
2023-07-17 09:26:23
質問
エプラスで作成したExcelシートがあるのですが、いくつか痛いところがあり、同じような課題を解決された方のご指導をお願いしたいです。
二重の値に数値書式を適用する必要があり、Excelでこのように表示したいのですが。
- 8 → 8.0
- 12 → 12.0
- 14.54 → 14.5
- 0 → 0.0
以下は私のコードです。
ws.Cells[row, col].Style.Numberformat.Format = "##0.0";
最終的なExcelファイルでは、この形式の最後に常にE+0が付加されるため、代わりに以下のように最終的な値が表示されます。
- 8 → 8.0E+0
- 12 → 12.0E+0
- 14.54 → 14.5E+0
- 0 → 000.0E+0
生成されたExcelシートの書式セルで確認すると、私の書式は次のように表示されています。
##0.0E+2
と表示され、代わりに
##0.0
を適用したものです。
何が間違っているのでしょうか?
どのように解決するのですか?
EPPlusの数値フォーマットのオプションを紹介します。
//integer (not really needed unless you need to round numbers, Excel will use default cell properties)
ws.Cells["A1:A25"].Style.Numberformat.Format = "0";
//integer without displaying the number 0 in the cell
ws.Cells["A1:A25"].Style.Numberformat.Format = "#";
//number with 1 decimal place
ws.Cells["A1:A25"].Style.Numberformat.Format = "0.0";
//number with 2 decimal places
ws.Cells["A1:A25"].Style.Numberformat.Format = "0.00";
//number with 2 decimal places and thousand separator
ws.Cells["A1:A25"].Style.Numberformat.Format = "#,##0.00";
//number with 2 decimal places and thousand separator and money symbol
ws.Cells["A1:A25"].Style.Numberformat.Format = "€#,##0.00";
//percentage (1 = 100%, 0.01 = 1%)
ws.Cells["A1:A25"].Style.Numberformat.Format = "0%";
//accounting number format
ws.Cells["A1:A25"].Style.Numberformat.Format = "_-$* #,##0.00_-;-$* #,##0.00_-;_-$* \"-\"??_-;_-@_-";
小数点と千のセパレータは、独自のローカライズに変更しないでください。 ローカライゼーションに変更しないでください。Excelがそうしてくれます。
リクエストにより、いくつかのDateTimeフォーマット・オプションを追加しました。
//default DateTime pattern
worksheet.Cells["A1:A25"].Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern;
//custom DateTime pattern
worksheet.Cells["A1:A25"].Style.Numberformat.Format = "dd-MM-yyyy HH:mm";
関連
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み] .NETでフォーマット文字列のブレース(中括弧)をエスケープする方法
-
[解決済み] .NET String.Format()で数値の千の位にカンマを追加する
-
[解決済み] C# DateTimeを "YYYYMMDDHHMMSS "フォーマットに変換する。
-
[解決済み] 列番号(例:127)をExcelの列(例:AA)に変換する方法
-
[解決済み】乱数発生器が1つの乱数しか発生させない。
-
[解決済み] EPPlusでセルをマージする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】C#で四捨五入する方法
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】IntPtrとは一体何なのか?