如何为使用ExcelPackage创建的Excel单元格设置货币格式?

worksheet.Cell(i, 7).Value = item.Price.ToString();

最佳答案

ExcelPackage将读取单元格上的NumberFormats。因此,您只需在Excel中制作一个示例,然后读出单元格,然后查看所需格式即可。

这是格式化货币的三种不同方式的示例。注意最后一个“硬编码” $字符,这可能不是最佳实践。

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();
}

关于c# - 设置使用ExcelPackage创建的Excel单元格的货币格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3625886/

10-11 06:38
查看更多