使用EPPlus时,将格式化值作为货币类型插入

时间:2014-08-06 07:17:30

标签: format currency epplus

我正在使用格式:

type =" $ ###,###,## 0.00"

用于货币并将格式类型分配给工作表单元格

例如。 wrkSheet.Cells[0].Style.Numberformat.Format = formatType;

但是这是在excel中作为文本类型插入的。 我希望将其作为货币或数字插入,以便继续对插入的值(排序,总和等)进行分析。

目前,因为它是文本类型验证不正确。 有没有办法强制可以插入格式化值的类型?

2 个答案:

答案 0 :(得分:8)

您的格式正确无误。您需要将值转换为其本机类型

使用此代码,它应该工作:

using (var package = new ExcelPackage())
{
    var worksheet = package.Workbook.Worksheets.Add("Sales list - ");
    worksheet.Cells[1, 1].Style.Numberformat.Format = "$###,###,##0.00";
    worksheet.Cells[1, 1].Value =Convert.ToDecimal(24558.4780);

    package.SaveAs(new FileInfo(path));
}

答案 1 :(得分:2)

指数从Excel中的1开始。

此代码

using (var package = new ExcelPackage())
{
    var worksheet = package.Workbook.Worksheets.Add("Sales list - ");
    worksheet.Cells[1, 1].Style.Numberformat.Format = "$###,###,##0.00";
    worksheet.Cells[1, 1].Value = 24558.4780;

    package.SaveAs(new FileInfo(path));
}

为我生成 $ 24 558,48