【问题标题】:Set currency format for Excel cell that is created with ExcelPackage为使用 ExcelPackage 创建的 Excel 单元格设置货币格式
【发布时间】:2011-04-07 06:07:06
【问题描述】:

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

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

【问题讨论】:

    标签: c# excel excelpackage


    【解决方案1】:

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

    【讨论】:

    • 工作表中有一个单元格属性,请再次检查您的代码。
    • 对于其他人来说,这些格式将确保 excel 中的格式下拉菜单显示为“货币”、“数字”等,而不是“自定义”
    【解决方案2】:
    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";
    

    这将在您的电子表格中创建 1.50 美元作为数字

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多