/* 存储过程名称:导出数据到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
[1] [2] [3] 下一页
|