如何使用SSIS将数据导出到Excel 2007表?

时间:2010-10-12 03:20:30

标签: sql-server dts ssis

我有一个包含表格的excel文件(xlsx):

Excel Table

一旦我启动了我的ssis任务(成功)以在其中插入数据,它实际上是在表后面追加:

Excel Table after the SSIS task

我的预期结果:

Expected

所以我正在寻找一种插入表格并用数据扩展的方法。我希望有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

我不会为此使用SSIS,您可能有Excel2007 as linked server ,通过常规TSQL将数据放入Excel,或者通过Excel VBA直接从SQL Server获取数据来处理数据。作为一个实际的理智,我would not ever use SSIS for anything

嗯,关于你怎么做的信息不多,但是你应该以某种方式指定第一行不应该用作头名容器(HDR = NO),比如,

  • 插入OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0; Database = D:\ testing.xls; ;的 HDR = NO'下,
    'SELECT * FROM [Sheet1 $]')

答案 1 :(得分:1)

我终于找到了答案。 所以我需要生成excel报告,其中包含许多与主表相关联的数据透视图。

但使用表格是一个坏主意。相反,数据透视表必须链接到命名范围。

最后要知道的是,如果命名范围不使用OFFSET函数,则会出现错误消息“Invalid References”。

我的命名范围公式是:

=OFFSET(Sheet!$A$1, 0, 0, COUNTA(Sheet!$A:$A), NUMBER_OF_COLUMNS)

其中Sheet是工作表的名称,NUMBER_OF_COLUMNS是数据的列数。

就是这样。我现在可以生成没有任何代码行的excel报告,只使用SSIS 2005。