EPPlus 正在收集大量数据
EPPlus is rounding up a large number
我正在使用 EPPlus 在 ASP.Net 中生成 excel 报告。我使用了以下代码:
aCell.Value = CDec(aValue)
aCell
的类型是 OfficeOpenXml.ExcelRange
.
这在大多数情况下都能正常工作。但是,当aValue
为201600000000515561时,Excel中的单元格设置值为201600000000516000.
单步执行代码并查看 aCell.Value
的值表明设置了正确的值。但是打开excel的时候,这个值已经四舍五入到下一个1000了。
有没有人有解决方案或者这是 EPPlus 中的错误?
这不是 Epplus
的事情,更像是 Excel 的事情。由于 excel 存储数字的方式,您最多有 15 个有效数字,之后 excel 基本上插入 0。如果你从左边数 201600000000515561
,你会看到这个。看看这个:
https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel
我认为最流行的解决方法是将数字存储为文本,这当然会导致其自身的一系列问题。这是一个很好的主题:
我正在使用 EPPlus 在 ASP.Net 中生成 excel 报告。我使用了以下代码:
aCell.Value = CDec(aValue)
aCell
的类型是 OfficeOpenXml.ExcelRange
.
这在大多数情况下都能正常工作。但是,当aValue
为201600000000515561时,Excel中的单元格设置值为201600000000516000.
单步执行代码并查看 aCell.Value
的值表明设置了正确的值。但是打开excel的时候,这个值已经四舍五入到下一个1000了。
有没有人有解决方案或者这是 EPPlus 中的错误?
这不是 Epplus
的事情,更像是 Excel 的事情。由于 excel 存储数字的方式,您最多有 15 个有效数字,之后 excel 基本上插入 0。如果你从左边数 201600000000515561
,你会看到这个。看看这个:
https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel
我认为最流行的解决方法是将数字存储为文本,这当然会导致其自身的一系列问题。这是一个很好的主题: