首页 > 解决方案 > 如何强制 Excel 通过 EPPlus 显示科学计数法?

问题描述

有什么方法可以控制数字是否以科学计数法显示,使用 EPPlus 库在 C# 中生成 Excel 文件?

worksheet.Cells[row, col].Value = someValue; //example value: 0.0000152691
worksheet.Cells[row, col].StyleName = RegularCenterAlign;
worksheet.Cells[row, col].Style.Numberformat.Format = "WHAT DO I PUT HERE???";

我为格式尝试了“0.00e0”,这导致excel抛出错误:

在此处输入图像描述

我没有在文档中看到它,但是如果您在 Excel 中查看格式选项,科学记数法是可用的,所以您会认为 EPPlus 有一个我们可以使用的字符串代码。

现在似乎正在发生的事情是 Excel 正在自行决定是否以科学计数法格式化给定数字。相同的代码插入了以下屏幕截图中的所有数字。没有指定格式,但您可以看到最后一个没有使用科学记数法。

在此处输入图像描述

标签: c#excelasp.net-coreepplus

解决方案


利用:

ws.Cells["A1"].Style.Numberformat.Format = "0E+00";

您可以使用以下内容添加小数位数:

ws.Cells["A1"].Style.Numberformat.Format = "0.0000E+00";

不要忘记您的值应该是数字。该值将被格式化:

ws.Cells["A1"].Value = 0.0000152691;

这个不会:

ws.Cells["A1"].Value = "0.0000152691";

推荐阅读