2013-03-17 52 views
0

我的問題: 我的存儲過程有動態列。所以我不能插入tabe。 所以我需要直接導出到Excel。以下是我的代碼。下面的代碼工作正常。 我需要直接從存儲過程中導出excel,或者如何創建動態表與存儲過程 請幫助我。從樞軸表存儲過程導出sqldata到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 @[email protected] 

請幫助我

Maideen

回答

0

在Excel 2010+,轉到數據選項卡,添加到您的SQL數據庫,一個連接,當你到了「選擇表」對話框,只是選擇任何有效的表格(我們可以稍後改變它)。然後下一個對話框將被稱爲「導入表」。從這裏按照this page的指示,點擊屬性,然後點擊'定義'標籤。將命令類型更改爲除「表」和命令文本以外的其他內容,然後執行usp_PIVOT_Seats,您應該很好。