问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

从EXCEL导入数据库数值型都被四舍五入了

发布网友 发布时间:2022-04-22 13:44

我来回答

5个回答

热心网友 时间:2022-04-10 00:41

多看看你写的程序吧!

这种问题我不想回答来着,百度里弄不成精彩回复。

--------------

给你做一个实验。

假如excel 使用的是标准xml 驻存。


基本上类似于如下结构


<H30_Value>4.011<H30_Value/>

<H30_Handle>Round(2)<H30_Handle/>

<H30_ViewValue>4.00<H30_ViewValu/>


也就是说,你获得的值不是视觉值就是,实际存储值。

你的程序并没有统一处理,一些API,getCellValue,和 Value 差距可是相当的大。


mysql 写的导入插件用的是实际存储值。


我建立一个表,三个列 A int B float C varchar


 然后我用甲骨文开发的插件提交一下数据:


一共三行 三种格式。 自己多看看 fx 的那个显示 是什么值



也就是说 造成这种视觉和实际的元凶是handle,你用最简单的模板试一下,我个人认为你的那个程序有问题的概率比excel格式出问题的概率大一些。

mysql 文本 如果是数字 也可运算,这是一个优点。也是一个缺点。

追问我数值型没有保留小数点,故输入值和显示值是一样的,我程序里没用Round函数,出现了最后两位四舍五入的这情况,应该没这么神奇吧

追答所以让你优先排查你的程序。 你也可以用mysql for excel这个插件 ,提交一下你的excel。
试一下就知道问题出在哪里了。

以前开发程序的时候倒是有这种情况,200862到数据库里就会变成200860 基本不可能,可能是你举的例子根本就是你的假设。

但是在长数据的时候会产生这样的情况。

比如56656565665656566666 在excel 中 常规 数字 都会变成 56656565665656560000

当时解决是采用 先设置文本,或采用 '56656565665656566666 加个上撇 存储。
是csv文件,不要用excel 打开,不然大数据都会被编零。

热心网友 时间:2022-04-10 01:59

这是单元格格式的问题,你在你输入的数据上按右键,选择单元格格式,选数值,保留几位小数,你自己选择,因为之前你选择的是零位,所以四舍五入了追问我保留小数点后几位也是这样,数据库内格式用什么好呢。。。

热心网友 时间:2022-04-10 03:34

数据库中 VARCHAR 类型是字符串类型。追问我就是在问为啥数值型存字符串就会出现后两位四舍五入的情况呢?~数据库内应该对应哪种格式才正确显示

热心网友 时间:2022-04-10 05:25

既然数据库上VARCHAR

excel对应列 应该设为文本型追问数字作为文本处理会存成6.93155E+12这样的

热心网友 时间:2022-04-10 07:33

我在批量处理数据库内容的时候,也遇到这种问题。我一般会直接导出CSV文件,让后用TXT进行内容替换。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
想你花就开了是什么意思 ...轻弹簧下端固定在水平面上.一个小球从弹簧正上方某一高度处由静止... ...弹簧下端固定在水平地面上,质量为m的小球从轻弹簧的正上方某一高处... ...一竖直弹簧下端固定于水平地面上,小球从弹簧的正上方高为h的地方自... ...结婚证,孩子户口也在女方家,男方可以要求拿抚养权吗? 小男孩适合戴哪些翡翠小男孩适合戴什么翡翠 产后尿道口痛是什么原因 产后尿道口疼怎么回事 ...同种点电荷连线上和中垂线上电势的变化规律 办理北京银行需要什么手续 在Excel表格中,如何将其它表中的数据,与另一张表中相同的数据对应存放 excel导入SQL数据类型变化问题??? 丢失怎么找回 怎么解决excel导入到sql表后varchar显示科学计数法 Excel 如何sql中调用自定义函数 丢了怎么找回来? 这个excel 公式有什么问题吗 只对 值为VARCHAR2的起作用其他 的就没有了 求助 丢了怎么找回来? 用什么函数判断单元格中的日期是不是系统当前日期? C盘空间是不是越多越好 C盘(系统盘)空间是越大越好么? 丢失怎么找回原来 c盘空间是否越大越好 电脑C盘剩余多少空间最好 C盘空间过大对计算机有什么影响吗 丢失怎么找回? 电脑里的系统盘(C盘)是容量大点的好还是小点的好 C盘留多大空间好? 是不是C盘可用空间越大,电脑运行速度就越快? C盘是不是越大越好 EXCEL 单元格文本编辑公式 丢失怎么找回? sql中格式化日期导入excel无法匹配 数据库表中varchar转化为datetime excel导入SQL,日期是VARCHAR类型,按日期查询怎么查 ASP.NET从数据库导出到EXCEL 简述MySQL数据库中九种基本对象的定义? excel的数据类型如何与sql对应 SQL导入EXCEL数据为什么源数据跟目标数据为varchar不行 石家庄累计检出阳性人员354人? 石家庄初中第一梯队排名 石家庄新增7例核酸阳性样本 河北石家庄累计检出阳性人员354人,主要集中在哪? 石家庄取消全员核酸检测?官方回应来了 石家庄新增7例核酸阳性样本 石家庄的本轮疫情出现拐点了吗? 石家庄进口药品原材料外包装核酸阳,现阶段的疫情情况究竟如何? 2022年11月4日石家庄裕华区新增2例新冠阳*染者 全员核酸多久出结果 2022年高三阶段性质量检测一石家庄市参加人数