今天早上看到一篇文章(Exporting to Excel Using a CLR Stored Procedure )覺得非常實用,就拿來跟大家分享一下。這篇文章主要提供了一個Sql Server導(dǎo)出數(shù)據(jù)到Excel一個快捷方便的方式,如果你日常工作常常需要從數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)到Excel的話,你會發(fā)現(xiàn)這對你非常有用。
好了,廢話少說,我這里就簡單說一下如何使用:
1. 下載代碼ExcelExport.zip
2. 編譯項目,把生成的dll復(fù)制到一個目錄,例如:c:CLR
3. 在SQL SERVER上啟用CLR
sp_configure'clr',1
reconfigure
4. 使用ALTER DATABASE 命令打開 Trustworthy 數(shù)據(jù)庫屬性
ALTER DATABASE 數(shù)據(jù)庫名 SET TRUSTWORTHY ON
5. 創(chuàng)建程序集
CREATE ASSEMBLY ExportToExcel
FROM 'C:CLRExcelExport.dll' --CLR 程序集存放的地方
WITH PERMISSION_SET = EXTERNAL_ACCESS
6. 創(chuàng)建一個存儲過程關(guān)聯(lián)到上一步創(chuàng)建的程序集
CREATE PROCEDURE[dbo].[prc_ExportToExcel]
@proc [nvarchar](100),
@path [nvarchar](200),
@filename [nvarchar](100),
@params xml
AS
EXTERNAL NAME [ExportToExcel].[StoredProcedures].[ExportToExcel]
7. 好了,到這里準(zhǔn)備工作就算完成了,下面是使用的例子:
Declare @params xml
Set @params = '<params><param name="lastname" value="Smith" /><param name="country" value="US" /></params>'
exec prc_ExportToExcel 'procname',‘Drive:Directory', 'Filename', @params
a) 第一個參數(shù)是獲取數(shù)據(jù)的存儲過程名
b) 第二個參數(shù)是輸出的目錄
c) 第三個參數(shù)是輸出的文件名,不需要帶后綴
d) 第四個參數(shù)是獲取數(shù)據(jù)的存儲過程需要的參數(shù)。name代表參數(shù)名,value代表參數(shù)值。
如果獲取數(shù)據(jù)的存儲過程沒有參數(shù)的話,就使用:Set @params ='<params></params>'
出處:http://www.cnblogs.com/NickYao/