gpt4 book ai didi

ssis - 如何根据表格数据创建动态 Excel 工作表

转载 作者:行者123 更新时间:2023-12-02 02:04:49 24 4
gpt4 key购买 nike

给定 SQL Server 中的一个表,该表保存来自三个源表的合并数据,其中包括一个名为 OFFICE 的列,该列将记录彼此区分开来。

三个源表包含来自三个办公室的数据。

我想动态创建一个 Excel 文件,该文件将在一个工作簿中根据三个不同的办公室(例如 office1、office2、office3)创建 3 个工作表,从而导致每个工作表根据其办公室包含相关数据。

请推荐一种在 SSIS 中使用动态 Excel 目标的方法,因为我不想使用创建模板文件然后将该模板复制到目标 excel 文件的方法。

最佳答案

虽然这可以使用 scipt 任务和 C# 来完成,但在以下位置演示了一个更简单的解决方案 http://www.rafael-salas.com/2006/12/import-header-line-tables-_116683388696570741.html

和后续行动

http://www.rafael-salas.com/2008/03/ssis-and-dynamic-excel-destinations_01.html#!

但为了总结相关细节,您需要使用“执行 SQL 任务”在运行时动态创建工作表,然后再将其用作目标。

创建一个新变量来保存工作表名称,并将此变量设置为您在遍历它们时使用的 Office。

此外,创建一个变量来保存将创建每个工作表的创建表语句。例如,

"CREATE TABLE "+ @[User::SheetName] + "(HeaderID INTEGER, HeaderName NVARCHAR(50), LineID INTEGER, LineName NVARCHAR(50), LineDetails NVARCHAR(50))"

并将 For Each 容器内执行 SQL 任务的 SQLSourceType 属性设置为变量,然后选择您创建的变量来保存创建语句。

在 Excel 目标组件中,将数据访问模式更改为“表名称或 View 名称变量”,然后从变量下拉列表中选择您创建的工作表名称变量。

关于ssis - 如何根据表格数据创建动态 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15634418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com