excel - 提高将非常慢的文件附加到主文件的速度
问题描述
我正在尝试将一组 (10) 相同列的 Excel 文件组合(或者附加是一个更好的术语)到一个主文件中。
我尝试了一个非常简单的过程,在控制流中使用 foreach 循环,并简单地对 Excel 目标执行 Excel 源。这个过程不仅很慢(大约每秒粘贴 1 条记录),而且在大约 50k 条记录之后该过程就终止了。
它看起来像:Foreach 循环容器 --> 数据流任务
其中数据流任务是 Excel 源 --> Excel 目标
最后,我希望看到一个附加了所有文件的主文件。我认识到还有其他工具可以直接在 Excel 中执行此操作,例如 PowerQuery,但我正在努力更好地理解 SSIS,并且我有很多在 SQL Server 中可以更好地完成的处理。
有一个更好的方法吗?我在网上搜索了高低,但在 SSIS 中找不到这样的例子。
解决方案
这很简单。我建议的一件事是加载到 csv 格式的平面文件,该文件可以在 Excel 中轻松打开。
- 在文件名上枚举的 Foreach 循环。
- 在 Foreach GUI 集中:
- Excel 文件的路径
- 文件的结构(例如 myfiles*.xls)
- 转到变量映射并将完全限定名称映射到变量
- 创建与任一文件的 Excel 连接。
- 在 excel 连接属性中打开 Expression 并将文件路径设置为从 5 开始的变量
- 同样在属性中将延迟验证设置为 true
- 将数据流任务添加到 foreach 循环容器
- 转到数据流
- 使用源码助手读取excel源码
- 使用目的地助手加载到一个平面文件(一定不要覆盖目的地,否则你只会得到最后一个工作簿
推荐阅读
- android - 如何在意图的帮助下打开活动托管的第 n 个片段?
- c# - 如何拆分具有逗号和空格组合字符的文本?
- apache-spark - 有没有办法使用jobtracker或spark application master确认我提交的spark作业是yarn-client还是yarn-cluster?
- ios - 如何在 Objective-C 和 Swift 中实现“didSelectButtonInCellAtIndexPath:”?
- postgresql - openshift 上的 keycloak 和 postgresql
- javascript - 如何制作基于 Web 的拖放表单构建器?
- ios - 表达式类型不明确,没有更多上下文错误
- json - 使用 json-server 模拟搜索过滤器
- vba - 无法使用以下方法在相关列中写入结果
- python - 将空列表替换为诸如“a”之类的字符