当前位置: 代码迷 >> Sql Server >> sql2008 导入 xls xlsx解决办法
  详细解决方案

sql2008 导入 xls xlsx解决办法

热度:893   发布时间:2016-04-24 08:51:31.0
sql2008 导入 xls xlsx
用的sql2008 右键 任务 导入数据功能,同样的数据存成xls 和xlsx 两种格式,不过导入的设置选项也一样,不过导入速度也差太多了,6万条数据用xls选项 导入 才不到10秒,用 xlsx选项导入太慢了 在第9步正在复制数据的地方 几分钟都没有结束?而利用SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',   'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

SELECT * into 农产品  FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=c:/book1.xlsx')...[Sheet5$]  

同样也是6万条数据,第一条语句 xls 执行起来 不到10秒,第二条语句 xlsx执行起来得1分钟。 有啥好办法能导入 xlsx快点的没?
 
------解决思路----------------------
其实很好理解,07以前的xls,其实就是纯文本文件,把数据以“/t”和“/n”join起来换个后缀输出而已。而07以后,不光要把数据以xml格式拼接起来,还要生成,一堆资源文件,合并到xlsx文件里。工作量不同,速度可想而知
------解决思路----------------------

我也导入过很多数据,上次导入的xlsx有35w条左右吧,基本上也就20秒左右,没有那么慢的。

如果实在慢,建议把xlsx文件另存为xls文件试试。
------解决思路----------------------
另存为 csv 吧。每秒导入1w行应该没问题
------解决思路----------------------
引用:
Quote: 引用:


我也导入过很多数据,上次导入的xlsx有35w条左右吧,基本上也就20秒左右,没有那么慢的。

如果实在慢,建议把xlsx文件另存为xls文件试试。

1、我用的是2008express版本 导入.xlsx确实很慢的,不知道跟 数据库版本有关系没?
2、超过65536存在.xls 就不行了吧?


有可能是版本导致的,我觉得不会这么慢的。另外,xls的确实超过了65536就不行了
  相关解决方案