首頁  >  文章  >  資料庫  >  SQL导出为Word

SQL导出为Word

WBOY
WBOY原創
2016-06-07 14:54:461246瀏覽

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
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn