在 SSIS 中将 SQL Server 数据导出到 Excel

在本文中,我们将向您展示如何在 SSIS 中将 SQL Server 数据导出到 Excel。为此,我们将创建一个包,从数据库中选择数据并将表导出到本地硬盘上的 EXCEL 文件。

在 SSIS 中将 SQL Server 数据导出到 Excel 示例

步骤 1:从工具箱将“数据流任务”拖放到“控制流”区域,然后重命名它。

Add Data Flow Task to Control Flow region 1

步骤 2:双击 SSIS 数据流任务,这将打开数据流区域。在数据流区域,拖放 OLE DB 源和 Excel 文件目标。

Add Ole DB Source and Excel Destination  2

步骤 3:双击 OLE DB 源以配置连接管理器并选择所需的表数据。

Query to select table records 3

在本例中,我们选择“Adventure Works DW 2014”数据库中的 [Dim Geography] 和 [Fact Internet sales] 表。上面用于将数据导出到 Excel 的 SQL 语句如下所示。

USE [AdventureWorksDW2014] 
GO

SELECT [EnglishCountryRegionName] ,[StateProvinceName] ,[City] ,[PostalCode]
,SUM (RE.[UnitPrice]) AS [Unit Price] ,SUM (RE.[ExtendedAmount]) AS [Extended Amount]
,SUM (RE.[ProductStandardCost]) AS [Product Standard Cost]
,SUM (RE.[TotalProductCost]) AS [Total Product Cost]
,SUM (RE.[SalesAmount]) AS [Sales Amount] ,SUM (RE.[TaxAmt]) AS [Tax Amount]
FROM [DimGeography]
INNER JOIN [FactResellerSales] AS RE ON
[DimGeography].[SalesTerritoryKey] = RE.[SalesTerritoryKey]
GROUP BY [EnglishCountryRegionName] ,[StateProvinceName] ,[City] ,[PostalCode]
ORDER BY [EnglishCountryRegionName]

接下来,单击“列”选项卡以验证输入列,然后单击“确定”。在此选项卡中,我们还可以取消选中不需要的列。单击“确定”即完成了源部分。

步骤 5:让我们通过双击 Excel 文件目标来配置目标。

SSIS Export Data From SQL Server to Excel 5

在这里,我们将 DimGeography.xls 选为我们的 Excel 目标工作表。

提示:在使用 Excel 连接管理器之前,您必须创建 Excel 工作表,并且在运行包时 Excel 文件不得打开。

SSIS Export Data From SQL Server to Excel 6

提示:如果勾选“第一行具有列名”选项,则列名将保存在所选 Excel 工作表的第一行。

在这里,我们选择 DimGeography 表将数据从 SQL Server 导出到 Excel。因此,要检查结果,您需要打开 DimGeography.xls 中的 DimGeography 工作表。

步骤 6:检查映射选项卡,确认所有行是否已正确映射到目标列。

Check the input and output Column Mapping 7

注意:如果您的输入列名和目标列名相同,则智能映射会自动完成。如果列名有任何更改,我们必须手动映射它们。

完成映射后,单击“确定”按钮完成项目开发。让我们运行 SSIS 将 SQL Server 数据导出到 Excel 包并查看。

SSIS Export Data From SQL Server to Excel 8

让我们打开 Excel 文件并检查结果。

Destination Excel File