【发布时间】:2013-11-29 00:03:13
【问题描述】:
我有一个 xlsx 文件并尝试从中读取数字并将它们放入另一个文件中。问题是,有些数字被错误地读取,我不知道为什么。例如:
Number in excel | Number read
-----------------------------
139,8 | 1,398E+16
2,2 | 2,2E+16
有趣的是,这个问题只发生在某些数字上。所有数字的格式都是相同的。 NPOI 从 excel 中读取准确的数字,而不是格式化的,所以我检查了值,但嘿,都和格式化的一样。
好的,我想我发现了一个问题。现在我只需要找到解决方案。我提取了 xlsx 文件并检查了存储在单元格中的实际值。问题是当我有值139.80000000000001 时,它被读取为1,398E+16,所以我猜 NPOI 解释格式错误。它认为。 (点)分隔数千,而它没有。
【问题讨论】:
-
现在我在读取值之前将单元格类型设置为
STRING。然后我将'.'替换为','并将其转换为double。它对我有用,但也许有更好的方法来实现它? -
不幸的是,我在 nuget 版本 2.4.1 中遇到了与 NPOI 相同的问题。我想知道问题又回来了?
标签: number-formatting xlsx npoi