使用SSIS将数据导出到Excel文件

Sha*_*ggy 8 sql sql-server

我有SSIS包,它将数据从表导出到Excel文件

控制流 :-

控制流

数据流 :-

在此输入图像描述

这是我的步骤: -

  1. 删除Excel表
  2. 创建Excel表格,格式为我的Select Query,用于从数据库中检索数据
  3. 将数据从数据库插入Excel文件

我使用了查询 Select * From Table Where --Some Condition

我从10000行中检索3000行,并将这3000行放入我的Excel工作表中.但是当打开我的Excel工作表时,我看到滚动条直到第10000行并且结束,因此我的Excel工作表大小也增加了.如何减少我的Excel表格尺寸?我的excel表只包含3000行,那么为什么空白单元格会持续到第10000行?

带有BIDS的SQL Server 2008和Visual Studio 2008

小智 22

我相信您的问题与您用于创建文件的方法有关.您有两种选择,两者都应该解决您的问题:

解决方案#1:

您可以使用这些预定义列创建Excel文件,基本上是空输出文件 - 这将充当您的"模板文件".你的流程将是这样的:

  1. 文件系统任务 - 将模板文件复制到输出或工作目录(必要时重命名)
  2. OLEDB源任务 - 查询数据来源(3000)
  3. 数据转换任务
  4. Excel目标任务 - 将数据放入新的Excel文件中

注意:您已完成第2步到第3步,只需确保连接到新的Excel文件即可.另外,为了澄清,步骤1在控制流程任务之外.

这种方式很有用,因为您始终有一个空白且格式一致的Excel文件可供复制和使用.

解决方案#2:

另一个选项是使用脚本任务并创建Excel文件 - 您还可以在此任务中将数据加载到文件中.这需要对VB.NET或C#有一些基本的了解.基本上你需要一个XLS库(如NPOI).这更复杂,但为您提供最佳功能.

我建议您尝试解决方案#1,看看它对您有何帮助.