我有一个用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
。
什么可能是错的?
5条答案
按热度按时间dldeef671#
以下是EPPlus的一些数字格式选项:
不要将小数点和千位分隔符更改为您自己的本地化。Excel会为您完成这些操作。
通过请求一些日期时间格式选项。
cyvaqqii2#
除了接受的答案,因为value接受对象,你必须传递数字到值例如,如果你的输入是字符串:
643ylb083#
另一个被接受的答案:你可以使用空值和格式都看起来不错,但它最终是一个字符串在Excel中,你不能求和,平均等。
因此,请确保使用nullable的实际
Value
。yqyhoc1h4#
如果你想格式化一个特定的列,如列“B”,以数字格式,你可以这样做-
23c0lvtd5#
我解决了它如下,所以我只是加载模型,并根据我的模型改变,如果它是
int
或datetime