使用CLR存储过程方便快捷导出数据到Excel
今天早上看到一篇文章(Exporting to Excel Using a CLR Stored Procedure )觉得非常实用,就拿来跟大家分享一下。
这篇文章主要提供了一个Sql Server导出数据到Excel一个快捷方便的方式,如果你日常工作常常需要从数据库导出数据到Excel的话,你会发现这对你非常有用。
好了,废话少说,我这里就简单说一下如何使用:
1. 下载代码ExcelExport.zip
2. 编译项目,把生成的dll复制到一个目录,例如:c:\CLR
3. 在SQL SERVER上启用CLR
sp_configure'clr',1
reconfigure
reconfigure
4. 使用ALTER DATABASE 命令打开 Trustworthy 数据库属性
ALTER DATABASE 数据库名 SET TRUSTWORTHY ON
5. 创建程序集
CREATE ASSEMBLY ExportToExcel
FROM 'C:\CLR\ExcelExport.dll' --CLR 程序集存放的地方
WITH PERMISSION_SET = EXTERNAL_ACCESS
FROM 'C:\CLR\ExcelExport.dll' --CLR 程序集存放的地方
WITH PERMISSION_SET = EXTERNAL_ACCESS
6. 创建一个存储过程关联到上一步创建的程序集
CREATE PROCEDURE[dbo].[prc_ExportToExcel]
@proc [nvarchar](100),
@path [nvarchar](200),
@filename [nvarchar](100),
@params xml
AS
EXTERNAL NAME [ExportToExcel].[StoredProcedures].[ExportToExcel]
@proc [nvarchar](100),
@path [nvarchar](200),
@filename [nvarchar](100),
@params xml
AS
EXTERNAL NAME [ExportToExcel].[StoredProcedures].[ExportToExcel]
7. 好了,到这里准备工作就算完成了,下面是使用的例子:
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
Set @params = '<params><param name="lastname" value="Smith" /><param name="country" value="US" /></params>'
exec prc_ExportToExcel 'procname',‘Drive:\Directory\', 'Filename', @params
a) 第一个参数是获取数据的存储过程名
b) 第二个参数是输出的目录
c) 第三个参数是输出的文件名,不需要带后缀
d) 第四个参数是获取数据的存储过程需要的参数。name代表参数名,value代表参数值。
如果获取数据的存储过程没有参数的话,就使用:Set @params ='<params></params>'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?