ExcelPackageで作成された Excel セルの通貨形式を設定するにはどうすればよいですか?
worksheet.Cell(i, 7).Value = item.Price.ToString();
ExcelPackageで作成された Excel セルの通貨形式を設定するにはどうすればよいですか?
worksheet.Cell(i, 7).Value = item.Price.ToString();
ExcelPackage は、セルの NumberFormats を読み取ります。したがって、Excel でサンプルを作成し、セルを読み取り、実行したいことの形式を確認するだけです。
以下は、通貨をフォーマットする 3 つの異なる方法の例です。最後の 1 つは $ 文字を「ハードコード」していることに注意してください。これはベスト プラクティスではない可能性があります。
using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo("testReport.xlsx")))
{
ExcelWorksheet ws = excelPackage.Workbook.Worksheets.Add("worksheet");
ws.Cells[1, 1, 3, 1].Value = 0d;
ws.Cells[1, 2, 3, 2].Value = -14.957d;
ws.Cells[1, 3, 3, 3].Value = 5000000.00d;
ws.Cells[1, 4, 3, 4].Value = -50000000000.00d;
ws.Cells[1, 1, 1, 4].Style.Numberformat.Format = "#,##0.00;(#,##0.00)";
ws.Cells[2, 1, 2, 4].Style.Numberformat.Format = "#,##0.00;-#,##0.00";
ws.Cells[3, 1, 3, 4].Style.Numberformat.Format = "\"$\"#,##0.00;[Red]\"$\"#,##0.00";
ws.Cells[1, 1, 3, 4].AutoFitColumns();
excelPackage.Save();
}
ExcelPackage package = new ExcelPackage();
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].Value = 1.50;
worksheet.Cells[1, 1].Style.Numberformat.Format = "$0.00";
これにより、speadsheetの数値として$1.50が作成されます