gpt4 book ai didi

excel - 使用 EPPlus,如何返回 Excel 格式化的单元格值?

转载 作者:行者123 更新时间:2023-12-04 20:43:48 24 4
gpt4 key购买 nike

我使用 EPPlus 加载具有这种特殊格式的数字单元格的 Excel 文件:

00"."00"."00"."000"."0

因此, 123456789 的单元格值在 Excel 上显示为 01.23.45.678.9
这是一种 Material 编码标准。现在,我想使用 EPPlus 在字符串中返回格式化的值。我对数值并不感兴趣。另外,我不想在我的代码中手动进行格式化,因为数字格式有时可能会有所不同。我该怎么做?

谢谢 :)

最佳答案

这看起来像是 EPPlus 中的一个问题。 ( 更新 :我提交了 an issue 。)

如果您在调试器下使用 EPPlus 运行示例,您将看到 EPPlus 使用表达式 d.ToString(format, nf.Culture) 从 ExcelRangeBase.cs:965 生成字符串值。在哪里 d是单元格文本的转换 double 值,format"00.00.00.000.0" , 和 nf是 EPPlus ExcelFormatTranslator (但后者对于这个特定问题并不重要)。

问题是一个未字面化的 .在自定义数字格式中,字符串被视为小数点。所以 format 的值此时 EPPlus 代码应为 "00'.'00'.'00'.'000'.'0" .

我还不确定什么是最好的解决方法,但它看起来需要在 ExcelNumberFormatXml.ExcelFormatTranslator.ToNetFormat 中的某处进行更改.

同时,您不必在自己的代码中手动进行格式化。在调用 Text 之前属性,您可以将数字格式设置为应有的格式,例如:

range.Style.Numberformat.Format = "00'.'00'.'00'.'000'.'0";

现在 range.Text应该给你你期望的字符串。

关于excel - 使用 EPPlus,如何返回 Excel 格式化的单元格值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com