2010-09-02 105 views

Respuesta

21

ExcelPackage leerá NumberFormats en las celdas. Entonces puede hacer una muestra en Excel, luego leer las celdas y ver cuál es el formato para las cosas que desea hacer.

Aquí hay un ejemplo de tres formas diferentes de formatear las monedas. Tenga en cuenta el último "código fijo" del carácter $, que puede no ser una mejor práctica.

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

No hay células establecimiento con objeto de hoja de –

+2

Hay una propiedad celdas de la hoja, por favor marque tu código otra vez – Exzile

+0

Solo para cualquier otra persona, estos formatos se asegurarán de que el menú desplegable de formato en Excel indique "Moneda", "Número", etc. en lugar de "Personalizar" – Shoe

8
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"; 

Esto creará $ 1,50 Tan un número en su speadsheet

Cuestiones relacionadas