recorrer - officeopenxml c#
Formato de nĂºmero EPPlus (2)
Tengo una hoja de Excel generada con Epplus, estoy experimentando algunos puntos difíciles y deseo ser dirigido por alguien que haya resuelto un desafío similar. Necesito aplicar el formato de número a un valor doble y quiero presentarlo en excel como este.
- 8 -> 8.0
- 12 -> 12.0
- 14.54 -> 14.5
- 0 -> 0.0
Aqui esta mi codigo
ws.Cells[row, col].Style.Numberformat.Format = "##0.0";
El archivo de Excel final siempre agrega E + 0 al final de este formato y, por lo tanto, presenta los valores finales como este.
- 8 -> 8.0E + 0
- 12 -> 12.0E + 0
- 14.54 -> 14.5E + 0
- 0 -> 000.0E + 0
Cuando verifico el formato de las celdas de la hoja de Excel generada, veo que mi formato aparece como ## 0.0E + 2 en lugar de ## 0.0 que apliqué. ¿Qué puede estar mal?
Aquí hay algunas opciones de formato de número para EPPlus:
//integer (not really needed unless you need to round numbers, Excel with use default cell properties)
ws.Cells["A1:A25"].Style.Numberformat.Format = "0";
//integer without displaying the number 0 in the cell
ws.Cells["A1:A25"].Style.Numberformat.Format = "#";
//number with 1 decimal place
ws.Cells["A1:A25"].Style.Numberformat.Format = "0.0";
//number with 2 decimal places
ws.Cells["A1:A25"].Style.Numberformat.Format = "0.00";
//number with 2 decimal places and thousand separator
ws.Cells["A1:A25"].Style.Numberformat.Format = "#,##0.00";
//number with 2 decimal places and thousand separator and money symbol
ws.Cells["A1:A25"].Style.Numberformat.Format = "€#,##0.00";
//percentage (1 = 100%, 0.01 = 1%)
ws.Cells["A1:A25"].Style.Numberformat.Format = "0%";
//accounting number format
ws.Cells["A1:A25"].Style.Numberformat.Format = "_-$* #,##0.00_-;-$* #,##0.00_-;_-$* /"-/"??_-;_-@_-";
No cambie los separadores decimales y mil a su propia localización. Excel lo hará por ti.
Al solicitar algunas opciones de formato de DateTime.
//default DateTime pattern
worksheet.Cells["A1:A25"].Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern;
//custom DateTime pattern
worksheet.Cells["A1:A25"].Style.Numberformat.Format = "dd-MM-yyyy HH:mm";
Para obtener una lista de formatos estándar / de muestra, uno podría:
- en Excel, haga clic derecho en cualquier celda, seleccione "Formato de celdas"
- En la lista Categoría: seleccione el formato deseado.
- luego seleccione "Personalizado" y en el cuadro de texto "Tipo" mostrará la cadena de formato deseada / seleccionada.
Esto funciona para cualquier tipo de datos en XL.