承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

MSSQL查询结果快速转换为表格

管理员 2023-06-02 07:56:16 网站建设 36 ℃ 0 评论 2069字 收藏

MSSQL查询结果快速转换为表格

(如Excel)

查询结果格式通过Excel(或其他表格式文件)传递广泛使用,特别是在微软MSSQL 服务器中,有时候也需要将查询结果转换成Excel报表。

通过以下代码可以方便快捷的将MSSQL的查询结果转换为表格(比如Excel文件)格式:

declare @mytable table
(
column_1 int,
column_2 int,
column_3 char(1)
)

INSERT INTO @mytable
SELECT
1,2,'A'

INSERT INTO @mytable
SELECT
3,4,'B'

DECLARE @sql VARCHAR(MAX)

SELECT @sql = ISNULL(@sql+ ',','') + ' ' + name
FROM
sys.columns
WHERE
object_id=object_id(@mytable)

SET @SQL = 'Select * FROM (SELECT * FROM @mytable) T
PIVOT (COUNT(Column_1) FOR column_3 IN ( ' + @SQL + ')) P
'

EXEC (@SQL)
--创建Excel文件进行输出:
EXEC sp_makewebtask @outputfile='d:\export\export.xls',@sqlstr=@sql

在服务器端履行完上述代码,就会在指定文件夹中(如 d:\export\)生成一个Excel文件(“export.xls”),内容为原查询的结果转换过来的。

除使用内置的Stroed Procedure来导出表格以外,在现代化的MSSQL环境下,也能够使用Integration Services来实现转换(比如在SQL2012和后续版本)。

首先,需要安装Integration Services(SSIS),然后打开Visual Studio,单击”新建项目”,从SQL Server中找到Integration Services,在结果中双击 Integration Services Project Template,以后就能够创建一个integration Services 项目,在项目中新建一个Package,双击Data Flow中的输入任务,一步一步依照提示,完成任务便可完成查询结果导出导入转换。

最后,提供一建议:不论是使用内置的Stroed Procedure或者Integration Services,适当的预先进行测试,特别是当查询数据量比较大时,需要特别注意避免转换进程中引发的内存溢出等问题影响结果。

文章来源:丸子建站

文章标题:MSSQL查询结果快速转换为表格

https://www.wanzijz.com/view/47166.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信