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。

posted @ 2014-02-11 09:39  herbert09  阅读(433)  评论(0编辑  收藏  举报