欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL导出为Word

程序员文章站 2022-06-15 21:02:40
...

SQL导出为Word Word Version: SQL Server 7.0/2000Created by: Alexander Chigrikhttp://www.MSSQLCity.com/ - all about MS SQL(SQL Server Articles, FAQ, Scripts, Tips and Test Exams). This stored procedure can be used to export the text string in

SQL导出为Word Word
Version: SQL Server 7.0/2000
Created by: Alexander Chigrik
http://www.MSSQLCity.com/ - all about MS SQL
(SQL Server Articles, FAQ, Scripts, Tips and Test Exams). 

This stored procedure can be used to export the text string into
Microsoft Word. You can pass the text string and the file name
(if the file name was not specified, the c:\ImportToWord.doc
will be used) into this stored procedure, as in the example below:

EXEC ExportToWord @Text = 'Test example',
                  @filename = 'c:\ImportToWord.doc'


This stored procedure can be used to export the text string into 
Microsoft Word. You can pass the text string and the file name 
(if the file name was not specified, the c:\ImportToWord.doc 
will be used) into this stored procedure, as in the example below:

EXEC ExportToWord @Text = 'Test example',
                  @filename = 'c:\ImportToWord.doc'
*/

IF OBJECT_ID('ExportToWord') IS NOT NULL DROP PROC ExportToWord
GO

CREATE PROCEDURE ExportToWord (
  @Text varchar(200) = null,
  @filename varchar(200) = 'c:\ImportToWord.doc'
)
AS
DECLARE @object int,
        @Range int,
        @Documents int,
        @Document int,
        @hr int,
        @result_str varchar(255)

IF @Text IS NULL 
  BEGIN
    PRINT 'You should write text'
    RETURN
  END

SET NOCOUNT ON

EXEC @hr = sp_OACreate 'Word.Application', @object OUT
IF @hr  0
BEGIN
    PRINT 'error create Word.Application'
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'Documents', @Documents OUT
IF @hr  0
BEGIN
    PRINT 'error create Documents'
    RETURN
END

EXEC @hr = sp_OAMethod @Documents, 'Add', @Document OUT
IF @hr  0
BEGIN
    PRINT 'error with method Add'
    RETURN
END

EXEC @hr = sp_OAGetProperty @Document, 'Range', @Range OUT
IF @hr  0
BEGIN
    PRINT 'error create Range'
    RETURN
END

EXEC @hr = sp_OASetProperty @Range, 'Text', @Text
IF @hr  0
BEGIN
    PRINT 'error set Text'
    RETURN
END

SELECT @result_str = 'SaveAs("' + @filename + '")'
EXEC @hr = sp_OAMethod @Document, @result_str
IF @hr  0
BEGIN
    PRINT 'error with method SaveAs'
    RETURN
END

EXEC @hr = sp_OAMethod @Documents, 'Close'
IF @hr  0
BEGIN
    PRINT 'error with method Close'
    RETURN
END

EXEC @hr = sp_OADestroy @object
IF @hr  0
BEGIN
    PRINT 'error destroy Word.Application'
    RETURN
END
GO