EPPlus数字格式

我有一个用Epplus生成的excel表,我遇到了一些痛点,我希望被一个解决了类似挑战的人指导。 我需要将数字格式应用到一个双精度值,我想这样的Excel中呈现它。

  • 8 – > 8.0
  • 12 – > 12.0
  • 14.54 – > 14.5
  • 0 – > 0.0

这是我的代码

ws.Cells[row, col].Style.Numberformat.Format = "##0.0"; 

最后的excel文件总是将E + 0追加到这个格式的末尾,因此代之以这样的最终值。

  • 8 – > 8.0E + 0
  • 12→12.0E + 0
  • 14.54 – > 14.5E + 0
  • 0 – > 000.0E + 0

当我检查生成的Excel表单的格式单元格时,我看到我的格式显示为## 0.0E + 2,而不是我应用的## 0.0。 什么可能是错的?

以下是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%"; 

不要将小数点和千位分隔符更改为您自己的本地化。 Excel将为你做到这一点。

通过请求一些date时间格式化选项。

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