将 sql 数据从数据透视表存储过程导出到 excel

Posted

技术标签:

【中文标题】将 sql 数据从数据透视表存储过程导出到 excel【英文标题】:export sqldata into excel from Pivot table store procedure 【发布时间】:2013-03-17 12:20:03 【问题描述】:

我的问题: 我的存储过程有动态列。所以我不能插入表中。 所以我需要直接导出到excel。下面是我的代码。下面的代码工作正常。 我需要直接从存储过程中导出 excel,或者如何使用存储过程创建动态表 请帮助我。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[usp_PIVOT_Seats]
AS
BEGIN
SET NOCOUNT ON;
DECLARE 
@cols NVARCHAR(MAX),
@stmt NVARCHAR(MAX)
SELECT @cols = ISNULL(@cols + ', ', '') + '[' + T.showdateformat + ']' FROM 
(SELECT  DISTINCT showdateformat FROM vw_Pivot_Seat_ALL) AS T

SELECT @stmt = ' SELECT * FROM vw_Pivot_Seat_ALL AS T
    pivot (SUM(T.Qty)  FOR T.showdateformat IN (' + @cols + ')) AS P'
END
EXEC sp_executesql @STMT=@STMT

请帮帮我

少女

【问题讨论】:

【参考方案1】:

在 Excel 2010+ 中,转到“数据”选项卡,添加到 SQL 数据库的连接,当您进入“选择表”对话框时,只需选择任何有效的表(我们可以稍后更改)。然后下一个对话框将被称为“导入表”。从这里按照this page 上的指示,即。单击属性,然后单击“定义”选项卡。将命令类型更改为“表格”以外的其他内容,将命令文本更改为 EXEC usp_PIVOT_Seats,您应该一切顺利。

【讨论】:

以上是关于将 sql 数据从数据透视表存储过程导出到 excel的主要内容,如果未能解决你的问题,请参考以下文章

将数据透视结果附加(插入)到现有 SQL 表中

PHP Sql 语句从 MySQL 导出表数据

用于标题组的数据透视表导出 excel

oracle 数据透视表

动态 SQL 使用多列交叉应用来反透视数据

从oracle数据库导出数据(表结构,表数据,视图,存储过程,序列)