我使用如下SQL语句将Excel的数据导入MS SQL数据库中:
exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigureSelect * From Sysobjects Where id=object_id('R') and ObjectProperty(id, 'IsUserTable') = 1select * into R from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=C:\Users\mFun\R.xls',sheet1$)exec sp_configure 'Ad Hoc Distributed Queries',0reconfigureexec sp_configure 'show advanced options',0reconfigure但遇到一个问题,就是如果Excel表格中的某个列的第一个单元格的值为空,则接下来整个列有值的单元格导入后,都为空了!期待各位的回复,谢谢!
另外经测试,例如:一个Excel文档有20列 100行,其中第10列的前5行为空值,第6行的值为2010/10/08,如果直接导入,则第第10列的中的第6行的值夜为空了,如果我在导入之前,将第10列第六行的值:2010/10/08改为:'2010/10/08,则导入后 第10列的第6行的值不为空了;请问怎么解决这个问题呢?现在需要处理的Excel数据 有203列 6000行左右,数据量很大,所以对速度有要求。
exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigureSelect * From Sysobjects Where id=object_id('R') and ObjectProperty(id, 'IsUserTable') = 1select * into R from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=C:\Users\mFun\R.xls',sheet1$)exec sp_configure 'Ad Hoc Distributed Queries',0reconfigureexec sp_configure 'show advanced options',0reconfigure但遇到一个问题,就是如果Excel表格中的某个列的第一个单元格的值为空,则接下来整个列有值的单元格导入后,都为空了!期待各位的回复,谢谢!
另外经测试,例如:一个Excel文档有20列 100行,其中第10列的前5行为空值,第6行的值为2010/10/08,如果直接导入,则第第10列的中的第6行的值夜为空了,如果我在导入之前,将第10列第六行的值:2010/10/08改为:'2010/10/08,则导入后 第10列的第6行的值不为空了;请问怎么解决这个问题呢?现在需要处理的Excel数据 有203列 6000行左右,数据量很大,所以对速度有要求。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货