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

发布于 2024-09-27 05:15:50 字数 371 浏览 3 评论 0原文

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

Excel Table

一旦我启动了 ssis 任务(成功)来插入数据在其中,它实际上是附加在表格之后:

Excel Table after the SSIS task

我的预期结果:

Expected

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

I have an excel file (xlsx) containing a table :

Excel Table

Once I launched my ssis task (successfully) to insert data in it, it is actually append after the table :

Excel Table after the SSIS task

My expected result:

Expected

So I am looking for a way to insert into the table and expand it with the data. I hope someone could help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悲欢浪云 2024-10-04 05:15:50

我不会为此使用 SSIS,您可能有 Excel2007 链接服务器,通过常规TSQL将数据放入Excel,或者通过Excel VBA直接从SQL Server获取数据来处理数据。出于实际理智的考虑,我永远不会使用SSIS做任何事情

好吧,没有太多信息你如何做到这一点,但你应该以某种方式指定第一行不应用作标题名称容器(HDR = NO),例如

  • 插入 OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;数据库=D:\testing.xls; ; HDR=NO'
    '从 [Sheet1$] 选择 *')

I would not use SSIS for this, you may have Excel2007 as linked server , putting data into Excel by regular TSQL, or process data by Excel VBA getting data directly from SQL Server. As a matter of practical sanity, I would not ever use SSIS for anything

Well, there is not much information how you do it but you should specify somehow that first row should not be used as header names container (HDR=NO), something like,

  • insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;Database=D:\testing.xls; ; HDR=NO',
    'SELECT * FROM [Sheet1$]')
风月客 2024-10-04 05:15:50

我终于找到了答案。
因此,我需要生成 Excel 报告,其中包含许多链接到主表的数据透视图。

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

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

我的命名范围公式是:

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

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

就是这样。我现在可以生成 Excel 报告,无需任何代码行,仅使用 SSIS 2005。

I finally found an answer.
So I needed to generate excel reports with a lot of pivot charts linked to a main table.

But using a table was a bad idea. Instead, the pivot charts must be linked to a named range.

The last thing to know is that the error message "Invalid References" appears if the named range doesn't use the OFFSET function.

My named range formula is :

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

Where Sheet is the name of the worksheet and NUMBER_OF_COLUMNS is the number of columns of the data.

That's it. I can now generate excel report without any line of code, only using SSIS 2005.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文