繁体   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