2010-10-12 92 views
0

我有一個包含表格的Excel文件(XLSX):如何使用SSIS將數據導出到Excel 2007表格?

Excel Table

一旦我開始了我的SSIS任務(成功)插入它的數據,它實際上是表後追加:

Excel Table after the SSIS task

我預期的結果:

Expected

所以我正在尋找一種方法來插入到表中並用數據展開它。我希望有人能幫助我。

回答

0

我終於找到了答案。 所以我需要生成Excel鏈接到主表的許多樞軸圖的Excel報告。

但使用表是一個壞主意。相反,數據透視圖必須鏈接到命名範圍。

要知道的最後一件事是,如果命名範圍不使用OFFSET函數,則會出現錯誤消息「Invalid References」。

我的命名範圍的公式是:

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

如果表是工作表的名稱和NUMBER_OF_COLUMNS是數據的列數。

就是這樣。我現在可以生成沒有任何代碼行的Excel報告,只使用SSIS 2005.

1

我不會爲此使用SSIS,您可能有Excel2007 as linked server,通過常規TSQL將數據放入Excel中,或者通過Excel VBA直接從SQL Server獲取數據來處理數據。作爲實用理智的事情,我would not ever use SSIS for anything

好了,沒有太多的信息,你是怎麼做的,但你應該以某種方式指定第一行不應該被用來作爲標題名容器(HDR = NO),像,

  • INSERT INTO OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
    '的Excel 8.0;數據庫= d:\ testing.xls; HDR = NO'
    「SELECT * FROM [Sheet 1中$]')
+0

我確實需要使用SSIS。我找到了一種使用OpenXML SDK將數據插入到Excel表格中的方法。但是我仍然在尋找一種直接進入SSIS的方法。我會驚訝這是不可能的。不幸的是,[WorksheetName]。[TableName]不起作用:(我會發布我的結局解決方案,除非有人提供給我一個解決方案。 – 2010-10-14 00:02:03

+0

我自己辭去了使用ExtremeML的代碼! – 2010-10-14 05:37:15

+0

是的,我沒有用Excel工作一段時間,但我記得2007年可以直接使用底層工作表數據的XML模式(2003年不提供) – 2010-10-14 05:55:25

相關問題