SQL SERVER2005 excel float导入
接到mission:将一堆excel的东西导入到SQL SERVER2005
命令很easy
SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]
首先一个问题就让我崩溃N久,每次调用导入excel的命令就出错。后来是因为别人提供的excel格式错误 我狂晕。。。
第二个问题就是,在excel中的数据,比如学号12345678,在SQL中的数据库存储类型的nvarchar(255),可是从excel导入的时候默认就转化成了float型,很崩溃。
假如修改float型的字段,改成nvarchar的类型,那相应的值自动就变成了科学计数法,1.234*e+007之类。对于学号来说,显然是错误的。
找了N多方案,,均不能解决问题。
不过后来还是搞定了,,怎么想到就不说了,嘿嘿 直接说solution
新建数据库,与excel中数字对应的字段类型设为numberic(30,0),然后从excel读入数据,存储到对应的字段后,再改变数据类型为nvarchar 就不会出现科学计数法了。~~
OK。