在sql2005中需要操作Excel导入导出数据,我们可以这样来处理。
1.导入数据:
/*
**
* 这种方式通过使用 OPENDATASOURCE 或 OPENROWSET 函数为特定目的导入数据。
*下列代码示例也能将 Excel Customers 工作表数据导入新的 SQL Server 表:
** */
SELECT * INTO NEWTABLE FROM OPENDATASOURCE ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Data Source=d:/gbs.xls;Extended Properties=Excel 8.0 ' )... [ Sheet1$ ]
SELECT * INTO NEWTABLE FROM OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Excel 8.0;Database=d:/gbs.xls ' , [ Sheet1$ ] )
SELECT * INTO NEWTABLE FROM OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Excel 8.0;Database=d:/gbs.xls ' , ' SELECT * FROM [Sheet1$] ' )
* 这种方式通过使用 OPENDATASOURCE 或 OPENROWSET 函数为特定目的导入数据。
*下列代码示例也能将 Excel Customers 工作表数据导入新的 SQL Server 表:
** */
SELECT * INTO NEWTABLE FROM OPENDATASOURCE ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Data Source=d:/gbs.xls;Extended Properties=Excel 8.0 ' )... [ Sheet1$ ]
SELECT * INTO NEWTABLE FROM OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Excel 8.0;Database=d:/gbs.xls ' , [ Sheet1$ ] )
SELECT * INTO NEWTABLE FROM OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' ,
' Excel 8.0;Database=d:/gbs.xls ' , ' SELECT * FROM [Sheet1$] ' )
如果数据库中已经存在对应的表了,可以通过下面的方式来执行导入操作:
INSERT
INTO
已存在表名
SELECT
*
FROM
OPENROWSET
(
'
Microsoft.Jet.OLEDB.4.0
'
,
' Excel 8.0;Database=d:/gbs.xls ' , ' SELECT * FROM [Sheet1$] ' )
' Excel 8.0;Database=d:/gbs.xls ' , ' SELECT * FROM [Sheet1$] ' )
2.导出数据
--
将SQL SERVER中查询到的数据导成一个Excel文件
-- ====================================================
T - SQL代码:
EXEC master..xp_cmdshell ' bcp 库名.dbo.表名 out d:/Temp.xls -c -q -S"servername" -U"sa" -P"" '
参数:S 是SQL服务器名;U是用户;P是密码
-- T-SQL DEMO
EXEC master..xp_cmdshell ' bcp testDB.dbo.gbs out d:/Temp.xls -c -q -S"." -U"sa" -P"1qaz-pl," '
-- ====================================================
-- ====================================================
T - SQL代码:
EXEC master..xp_cmdshell ' bcp 库名.dbo.表名 out d:/Temp.xls -c -q -S"servername" -U"sa" -P"" '
参数:S 是SQL服务器名;U是用户;P是密码
-- T-SQL DEMO
EXEC master..xp_cmdshell ' bcp testDB.dbo.gbs out d:/Temp.xls -c -q -S"." -U"sa" -P"1qaz-pl," '
-- ====================================================
如果在执行导出的过程中,出现异常信息需要检查下面两点:1.是否已经关闭excel文件;2.确认外围应用配置器中的xp_cmdshell是否启用。