为使用ExcelPackage创build的Excel单元格设置货币格式

如何设置用ExcelPackage创build的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(); } 
 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"; 

这将在您的电子表格中创build$ 1.50的数字