使用SSIS将多个SQL表中的数据导出到同一Excel文件中的多个工作表中

时间:2015-12-11 22:03:11

标签: sql-server excel ssis

我已成功使用SSIS在同一个Excel文件中生成多个Excel工作表,其中所有列都包含相同类型的数据。我可以使用此链接中的建议来实现此目的:https://social.msdn.microsoft.com/Forums/en-US/6f4a5b98-6373-4f7e-8d03-0876d0b4b611/loading-data-from-multiple-tables-to-multiple-sheets-of-excel-using-ssis?forum=sqlintegrationservices并在此链接中详细说明:https://social.msdn.microsoft.com/Forums/en-US/2421d9aa-5347-4f24-a78b-da02eb644f5f/export-sql-server-table-into-multiple-sheets-in-excel?forum=sqlintegrationservices

对于我正在处理的新项目,我正在尝试将具有不同列和数据的多个SQL表中的数据导出到同一Excel工作簿中的多个工作表中。由于每个表的数据不同,上面示例中的数据流任务似乎不是动态的,以允许更改列和数据转换。

我知道这可以使用SQL Server导入和导出向导,但我正在查看超过200个表。相反,我已使用SELECT TABLE_NAME FROM information_schema.tables查询将所需的表名传递给SSIS中的对象变量。也许有一个脚本可以解决这个问题。我是SSIS的新手,虽然几年没用过VB,但我愿意用它或任何其他方法来实现这个结果。

我错过了什么吗?这个程序在SSIS中是否可行?

1 个答案:

答案 0 :(得分:0)

以简单的方式做这件事会很困难。如果表中有不同的列,则希望具有多个不同的数据流任务。您可以使用BIML“动态地”创建包,例如使用C# - 在此处阅读更多内容:https://www.mssqltips.com/sqlservertip/3124/generate-multiple-ssis-packages-using-biml-and-metadata/ 请考虑使用Management Studio中的导入/导出向导(稍后您可以将其保存到SSIS包中并重复使用)。