archery导出excel格式时,部分长int数据变成了科学计数法
重现步骤
查询bigint类型的字段,存储内容为: ID 3019820881315840 3019822890060800 3019828255950848 3019839946000384 3019844132868096 3019853618186240
预期外的结果
导出后,打开excel后的内容为:

日志文本
No response
版本
1.8.1
部署方式
Docker
是否还有其他可以辅助定位问题的信息?比如数据库版本等
MySQL5.7
我也有这个问题,我用的1.8.5版本 ,我的业务数据,小数点后有18位,导出时也被四舍五入了,我序列化成字符串也没解决这个BUG,貌似是前端JS自动把我的字符串化成数字类型了,
@riverdba @0vally1 这个是excel 的问题。解决方案,用sublime这类文本编辑器打开csv。或者是新建空白的excel,使用数据-> 数据导入,再定义列类型时候选择文本即可。此问题非程序问题
如果不知道,不要瞎指点,请再补充一下基础知识,JavaScript 中的 Number 类型使用 IEEE 754 标准来表示浮点数,具有固定的双精度格式,即 64 位。这意味着 JavaScript 可以准确地表示大约 15 到 17 位小数。也就是,前端JS的小数位只有17位,超过的直接被砍掉了,即使它的问题,excel导出时,一样可以编辑样式,定义写入的excel列类型
欢迎 pr
@riverdba Sry ,没看清是ms-excel格式,习惯性把导出csv当成excel 格式了
如果按照您说的,范围超限结果应该是第一行第一列。所以说当前应该不是前端的数字类型范围问题。
怎么说呢,要不所有单元格设置成文本?
![]()
如果按照您说的,范围超限结果应该是第一行第一列。所以说当前应该不是前端的数字类型范围问题。 怎么说呢,要不所有单元格设置成文本?
小数位,小数位,小数位,excel,不是csv,我就不贴图了,你认为就你认为吧,JS前端小数位是17位,这个导出目前是前端导出,不是后端导出,你不用回复了,你是对的,
如果按照您说的,范围超限结果应该是第一行第一列。所以说当前应该不是前端的数字类型范围问题。 怎么说呢,要不所有单元格设置成文本?