如何在SSIS中覆盖Excel目标?

jay*_*jay 4 ssis

我创建了一个包来从两个SQL Server表中获取数据,并使用合并连接组合这些数据,然后将结果存储到Excel目标中.

它第一次工作正常.第二次将重复数据存储在Excel文件中.

如何覆盖Excel文件行?

Jam*_*ami 11

是的,可能!

这是解决方案:

首先转到Excel目标单击"Excel表格"旁边的"新建"按钮,复制内部的DML查询.然后将执行SQL任务放入控制流并将其连接到包含Excel目标的数据流.将连接类型设置为Excel,将连接设置为Excel目标的Excel连接管理器,转到SQL语句并键入:

Drop TABLE `put the name of the sheet in the excel query you just copied`
Go
Run Code Online (Sandbox Code Playgroud)

最后粘贴查询后.

您需要做的就是解决问题.

您可以参考此链接获取完整信息:http: //dwhanalytics.wordpress.com/2011/04/07/ssis-dynamically-generate-excel-tablesheet/

  • 虽然此链接可能会回答这个问题,但最好在此处包含答案的基本部分并提供参考链接.如果链接的页面发生更改,则仅链接的答案可能会无效. (2认同)

Val*_*ken 7

遗憾的是,Excel连接管理器没有允许覆盖数据的设置.您需要使用控制流中的文件系统任务设置一些文件操作.

有几种可能性,这是其中之一.您可以创建模板文件(仅包含带有标题的工作表),在数据流转换之前,文件系统任务将其复制到先前导出的文件上.

文件系统任务(MSDN)


小智 6

是的,可能!

使用 SSIS 我们可以解决这个问题:

首先,在一个位置创建一个 Excel 格式文件(使用Excel 连接管理器的结构格式),并使用FILE SYSTEM TASK另一个位置创建该 Excel 文件的副本,并确保 SET Is-Overwrite=True,并使用数据流任务将数据插入到新文件复制的文件中。每当我们想要插入数据时,它都会创建空白的 excel 文件,然后加载数据