电子表格(XLS)导入SQL2000时数据不正确的问题!

深山老翁 2005-09-10 09:22:23
电子表格字段:aa字段为文本类型,bb字段为数值类型(这个字段是价格,在电子表格已经设置为两位小
数),数据量有10万行这样。
问题:
1、aa字段有几个是纯数值的,我导入SQL时,预览时有的能看见,有的看不到(我导入后aa字段
有很多为空,即null),如:值为101,207,208,32014等都看不到,但52016,64704又看得见,郁闷,请
教了!
2、bb字段导入时原数值类型自动转换为float类型,小数位自动加长了,原两位小数变成14位,但大部
分是变了,有一些又没有变,如:30.52,23.48,3,27,6.5等没有变,119.4变成119.40000000000001,
7.94变成7.9398495540000011等,我在导入SQL时可以转换其他类型,小数位两位,导入完后发现数值都跟原来电子表格都不一样了,从电子表格到SQL的转换不明白它们之间是如何转换的,还请高手多多指教!

以上有没有办法导入SQL后跟电子表格的数据一样,谢谢!
...全文
518 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyang555 2005-09-12
  • 打赏
  • 举报
回复
建议楼主先将EXCEL文件另存为.csv文件,再使用 bulk insert 插入,效率会提高很多.
zyzucc 2005-09-12
  • 打赏
  • 举报
回复
wwwwb() :
你说的是类似于这种代码里面设置吗?不是很懂你的意思
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:/data.xls',Sheet1$)
zyzucc 2005-09-12
  • 打赏
  • 举报
回复
wmt85(天涯在流浪):\
我自己平时确实是这样用的,,我在详细说一下:(我是先把excel表格导到一个新的表中的,不直接导到特定表),如果你按照我的方法,导的表的字段结果是nvarchar 类型,不会出现科学记数等现象,,和原excel表一模一样,,关键是你要导前,保证excel是文本!!!!!!!!!(用记事本方法可以实现的)
wwwwb 2005-09-12
  • 打赏
  • 举报
回复
可以,在连接EXCEL代码中设置为混合模式即可。
深山老翁 2005-09-12
  • 打赏
  • 举报
回复
用zyzucc(笨笨熊) 的方法也不行呀,,
没有办法了,我用程序来循环一条条的插入到SQL中,,10万左右的数据我等了N久,,,呵呵,,
我觉得这种方法通用,不过数据多会让人承受不了,,大家还有别的方法吗! 谢谢!
深山老翁 2005-09-12
  • 打赏
  • 举报
回复
zyzucc(笨笨熊)的方法是我没有看清楚,,非常抱歉!
谢谢zyzucc(笨笨熊)和rivery(river),谢谢!
rivery 2005-09-12
  • 打赏
  • 举报
回复
如果开始再execel中输入数据前,就将格式设置正确,那么什么问题都没有的。
rivery 2005-09-12
  • 打赏
  • 举报
回复
呵呵, zyzucc(笨笨熊) ,楼主可能没有看清楚你的方法。
现在测试后,完全可以。
rivery 2005-09-12
  • 打赏
  • 举报
回复
原因:excel自动当作数字来保存了。你点击到单元格看工具栏fx那里显示的数值是多少?就明白了。
处理:复制第一列到记事本,然后,在excel中删除第一列,再添加第一列,将第一列的格式设置为文本,再从记事本中拷贝数据到第一列。
导入:一切都正常了。
zyzucc 2005-09-12
  • 打赏
  • 举报
回复
看来自己的秘技不被关注啊,呵呵,看看大家有什么其他好办法,关注~~~
pensheng 2005-09-12
  • 打赏
  • 举报
回复
把你的表中的那个字段定义成 dec(14,2) 类型
rivery 2005-09-12
  • 打赏
  • 举报
回复
晕,看到了。是第一列的数据有问题的。原来以为楼主说的是最后几列。
再看看。
rivery 2005-09-12
  • 打赏
  • 举报
回复
经过测试,导入(自动生成新表),数据都正确,没发现问题。
深山老翁 2005-09-12
  • 打赏
  • 举报
回复
字段名称忘记了:编号,名称,单位,价格1,价格2,价格3
深山老翁 2005-09-12
  • 打赏
  • 举报
回复
3521E-010 连接头总成 件 30.52 35.33 33.35
3522E-010 挂车阀 件 119.40 138.20 130.50
101 轴承 件 7.94 9.19 8.68
207 轴承 套 9.29 10.75 10.15
208 轴承 套 10.62 12.29 11.60
32014 差速器轴承 件 67.40 78.01 73.64
36011 离合器分离轴承 件 92.87 107.49 101.47
50216 轴承 套 49.09 56.81 53.63
64704 轴承 套 4.37 5.06 4.78
129908 轴承 套 23.48 27.18 25.65
1000904 轴承 件 12.37 14.31 13.51
3900131 增压器连接弯管(康明斯) 件 262.70 304.05 287.03
99112590102 软垫总成 件 82.26 95.21 89.88
10.00-20-16PR 轮胎 件 926.09 1071.87 1011.84
10.00-R20-16PR 轮胎 件 2043.24 2364.86 2232.43
10.00-R20-18PR 轮胎 件 2136.12 2472.36 2333.90
10.6*2.65 O型密封圈 件 0.80 0.92 0.87
10-420 三角带 件 16.58 19.20 18.12
1062-D/D 近光灯 件 108.80 125.92 118.87

----------------------------------------------------
上面是一些数据,,直接复制后粘贴到电子表格excel即可,,大家有时间帮我导入到SQL看有什么问题没有,谢谢先!
深山老翁 2005-09-12
  • 打赏
  • 举报
回复
zhangyang555(张阳):
再使用 bulk insert 插入,,不是很明白,是否能说详细,谢谢了!
Fibona 2005-09-11
  • 打赏
  • 举报
回复
我觉得bb导入时用numeric类型可以试试看。

aa中有可能是在电子表格中存储的格式不对的原因
iwl 2005-09-11
  • 打赏
  • 举报
回复
建议把类型都改为文本型
zhangyang555 2005-09-11
  • 打赏
  • 举报
回复
UP
zyzucc 2005-09-11
  • 打赏
  • 举报
回复
我以前也碰到过这个问题,是要先转化成文本,在电子表格里,但设置excel的电子表格格式,效果不明显,即使你把他设置为"文本"格式,
我的解决办法是先全选电子表格里的数据,copy到记事本里,千万别小看记事本,这样可以完全转化成为文本!!!!然后新建一个电子表格,并设置该表格所有的单元格为"文本"格式,再从记事本里copy回来,这样就是完全的文本了,这样导就可以了!!!
加载更多回复(1)
【课程内容】所涉及的具体内容包括输入录入技巧、排序、筛选、函数公式、数据透视表、图表、汇总等功能应用,并结合大量的企业应用实例,以互动的方式将解决思路和操作过程逐一呈现。【课程特点】1、190节大容量课程:包含了Excel软件的大部分知识点;2、创新的教学模式:手把手教您电子表格,一看就懂,一学就会;3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的间;5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;【互动教程的特点】•互动性-首创互动式学习,不同于以往的任何一种学习方式,不看视频不看书,轻松,高效,好玩-手把手教学,一步步引导操作,实看到效果,就像自己在操作一样,信心满满-即点即学,课程内可根据自己的需要,随调整界面上方进度条,重复操作,加强记忆-强大的学习跟踪系统,对整体学习进度一目了然,及调整学习计划,查疑补漏•人性化-界面设计简洁,操作简单,没有繁琐的按钮,一点就可直接进入学习状态-贴心小提示,读懂你的小心思,零基础快速入门,学习无压力,不尴尬-超多原理解析,疑问解答,如同专业Excel导师亲身指导,不翻书快速记忆,Excel小白迅速成长•实用性-课程由浅入深,操作过程详细剖析,一步步模仿,马上就会做。-涉及排序、筛选、函数公式、数据透视表、图表、汇总等核心功能的课程编排,通俗易懂不头疼-互动+观看视频,两种学习方式切换,上班路上,地铁里享受随随地自由学习通过本课程的学习,您将逐步掌握Excel 2016的各项功能和使用技巧。从而提高您的办公效率,早做完,不加班!!!

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧