Установить формат валюты для ячейки Excel, созданной с помощью ExcelPackage - PullRequest
14 голосов
/ 02 сентября 2010

Как установить формат валюты для ячейки Excel, созданной с помощью ExcelPackage ?

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

Ответы [ 2 ]

23 голосов
/ 15 июня 2011

ExcelPackage будет считывать числовые форматы в ячейках.Таким образом, вы можете просто сделать пример в 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();
}
9 голосов
/ 28 июня 2012
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 в виде числа в вашей таблице

...