【问题标题】:How can I force Excel to display scientific notation via EPPlus?如何强制 Excel 通过 EPPlus 显示科学计数法?
【发布时间】:2020-02-26 22:31:28
【问题描述】:

有没有办法控制数字是否以科学计数法显示,使用 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# excel asp.net-core epplus


    【解决方案1】:

    用途:

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

    【讨论】:

    • 谢谢!你在哪里找到这个的?我看了这里:github.com/JanKallman/EPPlus/wiki/Formatting-and-styling
    • 我创建了一个 excel 文件,将一个带有数字的单元格放入并使用所需的格式对其进行格式化。然后解压(.xlsx文件实际上是zip文件),然后打开文件styles.xml。在那里我看到了类似 的东西,并用西班牙语说“宾果”。 XD
    • 哈哈,不错。我没有意识到我可以解压缩一个 xlsx 文件。我只是做到了,睁开眼睛看到了一个全新的世界。谢谢你的提示。享受so积分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    相关资源
    最近更新 更多