簡體   English   中英

如何使用 SSIS 2016 將超過 100 萬行導出到 Excel?

[英]How to export more than 1 million rows to Excel with SSIS 2016?

我正在使用 SSIS 和 SQL Server 2016 來生成文本和 Excel 文件(也是 2016 版)。 一些數據流任務返回超過一百萬行的結果。 寫入文本不是問題。 但是,Excel 限制為每張紙 100 萬行。

如何配置 Excel 目標或其他組件,以確保根據需要使用多個工作表在目標工作簿中保存超過一百萬行?

有時,您需要向請求“將所有數據導出到 Excel”的人回推,因為這不是一個選項。 分析師真的可以用數百萬行的電子表格做任何事情嗎? 不,不,他們不會。

純粹作為“我怎么能做這件非常糟糕的事情”的練習

(本練習不包括自定義腳本目標,因為我不想編寫代碼)

在此處輸入圖像描述

您必須提前確定要創建的工作表數量的合理上限。 您可以將工作表限制為一百萬或達到每張工作表 1,048,576 行的實際限制。 可能是 1,048,575 行,因為您想跨工作表重復 header。

無論最大張數是 N,您都需要創建 N 個 Excel 目的地

您需要將 ROW_NUMBER() function 應用於源數據,因此您必須在那里進行自定義查詢

SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RowNum FROM dbo.MyTable;

條件拆分將使用模 function 將行分配給它們的路徑

  1. 行數 % N == 1
  2. 行數 % N == 2
  3. ...
  4. RowNum % N == (N-1)

並且默認 output 路徑為 == 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM