上一篇 | 下一篇

SQL Server 与 Excel

发布: 2008-6-30 23:27 | 作者: admin | 来源: | 查看: 8次

SQL Server 与 Excel

热 荐

【字体:小 大】

SQL Server 与 Excel

作者:- 文章来源:- 点击数:1808 更新时间:2006-4-20

/*

存储过程名称:导出数据到Excel

功能描述:导出数据到Excel

EXEC ExportToExcel @server = '.',

@uname = 'sa',

@pwd = '',

@QueryText = 'SELECT * FROM dldata..bbbbbb',

@filename = 'd:\ImportToExcel.xls'

*/

IF OBJECT_ID('ExportToExcel') IS NOT NULL DROP PROC ExportToExcel

GO

CREATE PROCEDURE ExportToExcel (

@server sysname = null,

@uname sysname = null,

@pwd sysname = null,

@QueryText varchar(200) = null,

@filename varchar(200) = 'd:\ImportToExcel.xls'

)

AS

DECLARE @SQLServer int, --SQLDMO.SQLServer对象

@QueryResults int, --QueryResults对象

@CurrentResultSet int,

@object int, --Excel.Application对象

@WorkBooks int,

@WorkBook int,

@Range int,

@hr int,

@Columns int,

@Rows int,

@indColumn int,

@indRow int,

@off_Column int,

@off_Row int,

@code_str varchar(100),

@result_str varchar(255)

IF @QueryText IS NULL

BEGIN

PRINT 'Set the query string'

RETURN

END

--设置服务器名为本地服务器(@@servername返回运行SQL Server的本地服务器名称)

IF @server IS NULL SELECT @server = @@servername

--设置用户名为当前系统用户名(使用SYSTEM_USER返回当前系统用户名)

IF @uname IS NULL SELECT @uname = SYSTEM_USER

SET NOCOUNT ON

--创建SQLDMO.SQLServer对象

EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @SQLServer OUT

IF @hr <> 0

BEGIN

PRINT 'error create SQLDMO.SQLServer'

RETURN

END

--连接到SQL Server系统

IF @pwd IS NULL

BEGIN

EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname

IF @hr <> 0

BEGIN

PRINT 'error Connect'

RETURN

END

END

ELSE

BEGIN

EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname, @pwd

IF @hr <> 0

BEGIN

PRINT 'error Connect'

RETURN

END

END

字号: | 推荐给好友

31/3123>

评分:0

我来说两句