select excel2007 格式数据的语法
 
导入/导出 Excel (.Xlsx) 或 (.Xls) 文件数据到 SQL Server 

注意:
1.导入/导出 Excel (.xls) 需要 Microsoft.Jet.OLEDB.4.0 
2.导入/导出 Excel 2007 (.xlsx) 需要 2007 Office System Driver: (数据连接控件)Data Connectivity Components. 可以从网上下载
 
-----Office中国的 tmtony  翻译  
 
一. 导出数据到Excel文件
 
       创建一个个EXEL文件 名称为 testing ,它拥有与sql server表 SQLServerTable 同样的字段
 
以下是查询语句
 
Excel 2003 (.Xls) 文件:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.xls;', 'SELECT * FROM [Sheet1$]') select * from SQLServerTable
 
Excel 2007 (.Xlsx) 文件:
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.xlsx;', 'SELECT * FROM [Sheet1$]') select * from SQLServerTable
 
二. 从 Excel 导入数据到 SQL Server 新表
 
Excel 2003 (.Xls) 文件:
select * into SQLServerTable FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.xls;HDR=YES', 'SELECT * FROM [Sheet1$]')
 
Excel 2007 (.Xlsx) 文件:
Select * into SQLServerTable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]')
 
三. 从 Excel 导入数据到 SQL Server 已存在的表
 
Excel 2003 (.Xls) 文件:
Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:testing.xls;HDR=YES', 'SELECT * FROM [Sheet1$]')
 
Excel 2007 (.Xlsx) 文件:
INSERT INTO SQLServerTable select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:testing.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]')
 
 
四.从 Excel 导入数据到 SQL Server 新表 (使用动态的表名 如SQLTABLE_200110413)  (http://www.office-cn.net)
 
DECLARE @table varchar(500)
DECLARE @Q varchar(2000 )
SET @table='SQLTABLE_' +(CONVERT(VARCHAR(8),GETDATE(),112))
SET @Q= 'select * into '+ @table + ' FROM OPENROWSET("Microsoft.ACE.OLEDB.12.0", "Excel 12.0;Database=D:testing.xlsx;HDR=YES", "SELECT * FROM [Sheet1$]")'
Exec(@Q)
posted on 2013-07-19 17:26  Officecn  阅读(1001)  评论(0)    收藏  举报