我正在开发一个显示来自 Microsoft SQL Server 动态数据透视表的数据的 web 应用程序。
通常我会尝试找出一种在 c# 中进行动态数据透视的方法,但在这种情况下,数据透视必须是 SQL Server 存储过程,因为其他应用程序也需要访问数据透视表。
这是SQL:
DECLARE @DynamicPivot AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
SELECT
@ColumnName = ISNULL(@ColumnName + ',', '')
+ QUOTENAME(xml_tag_name)
FROM
(SELECT DISTINCT xml_tag_name FROM DataEntries) AS TagValues
SET @DynamicPivot =
N'SELECT DISTINCT capture_id, ' + @ColumnName + '
FROM DataEntries
PIVOT(MAX(xml_tag_value)
FOR xml_tag_name IN (' + @ColumnName + ')) AS PVTTable'
EXEC sp_executesql @DynamicPivot
我读过的所有文章都涉及正常导出到 Excel 或静态数据透视表。例如:使用 C# 将表从 SQL Server 导出到 Excel 2007。
如何将此动态数据透视表导出到 Excel?