J'ai une feuille Excel générée avec Epplus, je ressens quelques points douloureux et je souhaite être dirigée par une personne qui a résolu un problème similaire. Je dois appliquer le formatage numérique à une valeur double et je veux le présenter dans Excel comme ceci.
Voici mon code
ws.Cells[row, col].Style.Numberformat.Format = "##0.0";
Le fichier Excel final ajoute toujours E + 0 à la fin de ce format et présente donc les valeurs finales comme celle-ci.
Lorsque je vérifie les cellules de format de la feuille Excel générée, je constate que mon format apparaît sous la forme ## 0.0E + 2 au lieu de ## 0.0 que j'ai appliqué. Qu'est-ce qui ne va pas?
Voici quelques options de format numérique pour EPPlus:
//integer (not really needed unless you need to round numbers, Excel will 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_-;_-$* \"-\"??_-;_-@_-";
Ne changez pas les séparateurs décimaux et mille en votre propre localisation. Excel le fera pour vous.
En demandant certaines options de formatage 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";