切割过大 Excel 文件

这节课我们来说说如何用云扩 RPA 来切割有很多行数据的 Excel 文件。

就像此前,在实际项目实施中,我们拿到一个有 50000 多行数据的 Excel 文件,我们在处理时,将其分隔成了多个 5000 行的文件。为什么需要做这样的分割呢?一种情况是,文件太大可能会影响 RPA 在读写文件时的速度(当然影响速度并不是 RPA 本身的问题,我们可以尝试手动打开一个有这么多行数据的 Excel 文件,速度也会很慢。)另一种情况是,有些业务系统只支持一次性处理数据量有限制,比如:企查查批量查询企业信息时明确写着一次最多处理 5000 条数据。

流程详述

在本课程中,你可以将已准备好的一个包含 50000+ 行数据的 Excel 文件按照用户自定义的数据行数切割为多个文件。

原文件包含在流程文件中,名为 5.1万数据.xlsx

流程运行完成后(假设文件按5000行/文件进行切割),切割为11个小文件,如图:

如果你希望获取示例流程文件,点击分割过大 Excel 文件获取。

流程实现逻辑

示例流程中使用的是如下图所示的实现逻辑,你可以参考这样的逻辑,甚至实现运行效率更高的流程逻辑。

流程开发步骤

打开云扩编辑器,新建项目

本项目命名为 切割过大Excel文件

打开 Excel 文件,获取末行号,末列号

  1. 使用选择文件组件,方便输入需要处理的 Excel 文件,并把文件路径存放在变量原文件路径中。

  2. 使用该路径打开 Excel 文件,使用已有组件获取末行号和末列号。

  3. 将获取的末列号数字转换为 Excel 中对应的列号(字母)。这边,我们使用一小段 C# 代码实现转换:

    代码参见:

    StringBuilder letter = new StringBuilder();
    do {--num;int mod = num % 26; // 取余letter.Append((char) (mod + 'A')); // 组装字符串num = (num - mod) / 26; // 计算剩下值
    } while (num > 0);
    char[] arr = letter.ToString().ToCharArray();
    Array.Reverse(arr);
    line = new String(arr);
    Console.WriteLine(line);
    

更改原文件名

  1. 将分割得到的文件路径设置为原文件名称+文件序号的形式。

    赋值内容是:System.IO.Path.GetDirectoryName(原文件路径) + "\" + System.IO.Path.GetFileNameWithoutExtension(原文件路径) + 文件序号 +".xlsx"

  2. 复制原文件,并将副本命名为文件序号为1的新文件。

计算分割文件数

使用*循环操作(While)*组件,并输入循环条件。

计算循环次数的思路如下:如果原文件数据有65行,且我们希望切割将其切割为含有不超过10行数据的小文件,那么需要需要切割为7个小文件(65 mod 10 + 1 = 7)。

从前一个文件中读取需要分割的部分

新建文件并写入获取的数据

从前一个文件中删除多余的数据

这个步骤我们可以使用云扩提供的 软件自动化->OfficeExcel->删除数据 实现。但鉴于宏的普遍应用需求,此处使用宏实现。

  1. 记得在使用打开/新建组件时,勾选启用宏属性。

  2. 录制宏并修改。

  3. 执行宏组件中,使用宏文件。

=“controls” width=“700px” />

  1. 执行宏组件中,使用宏文件。

    [外链图片转存中…(img-g2pGs5zx-1607227783157)]

至此,整个流程已完成。

【云扩RPA】sliceBigFiles相关推荐

  1. 【云扩RPA】CreateFirstAutomationProject

    现在,我们已经对编辑器有了基础的了解,那么便开始使用智能录制器录制一下记事本应用程序来熟悉一下. 在此单元中,你将学习到: 智能录制器的使用 变量的使用 现在,我们将打开一个记事本,在记事本中写入内容 ...

  2. 【云扩RPA】Introduction

    欢迎使用云扩RPA编辑器.在本模块中将会帮助你从头开始创建一个自动化项目. 在此单元中,你将学习到: 关于自动化项目相关的基本概念 如何基于智能录制器创建自动化项目 云扩RPA编辑器是一个图形化的流程 ...

  3. 云扩RPA研习社|如何快速将网页数据转存Excel

    提起Excel想必大家都不陌生,相信大家在日常工作中都有使用过.那在RPA中,Excel又是如何应用的呢?今天就让我们跟着Tina老师一起学习RPA开发中Excel组件的相关操作吧. 通过本节课程,你 ...

  4. 云扩RPA助力济宁银行智慧金融建设全面提速

    以 5G.人工智能等为代表的新技术的创新发展正加速向金融领域渗透,给步入 Bank4.0 时代的商业银行提供数字转型变革的新动力.作为"区域领先的数字化精品银行",济宁银行主动出击 ...

  5. 云扩RPA助力中核财务数字化,迈入高质量发展新阶段

    "十四五"开局以来,"金融+科技"发展势头强劲!唯有通过创新实现高质量发展,才能在竞争中脱颖而出,这已成为企业发展的共识. *图片源自中核财务官网 中核财务有限 ...

  6. 银行自动化案例丨云扩RPA助潍坊银行深挖数字金融服务新动能

    随着数字化深刻改变金融行业服务格局,潍坊银行作为地方性城市商业银行,已成为普惠金融服务的生力军,加速推进数字化转型已刻不容缓. 潍坊银行股份有限公司(简称潍坊银行)成立于1997年8月,2018年完成 ...

  7. 疯狂吐槽云扩rpa的一天

    云扩rpa是我用过最不好用的工具了.开发语言基于C#,组件封装的死死的,删除组件时,可能会遇到删除依赖项不干净的情况,读取数据库又不支持改model文件,好不容易绕过C#读取的映射问题,好嘛,pyth ...

  8. 【云扩RPA】Timing

    使用系统功能设定定时任务 云扩控制台支持连接大量机器人并设定流程的定时执行. 但是,当企业因为使用的机器人较少,未部署云扩控制台时,其实也可以借助 Windows 系统自带功能实现简单的定时任务功能. ...

  9. 云扩RPA携手中联教育引领财务机器人教学创新

    2022年全国职业院校技能大赛高职组智能财税赛项,近日在广州成功举办.作为RPA领域的创新领军者,云扩科技携手中联集团,为财税智能赛项提供RPA平台和技术支持. 本次大赛有来自全国的59支代表队236 ...

最新文章

  1. 增加自增列 耗时长_又一批长事务,P0故障谁来背锅?
  2. request.servervariables参数
  3. python3 bytes和bytearray总结
  4. Eclipse修改console输出最大行数及(IOConsole Updater)
  5. ArcGIS 10.x属性表乱码问题解决办法
  6. html中显示shell脚本的输出,网页从shell脚本中输入并显示结果
  7. FreeRTOS | STM32H7串口中断调用FreeRTOS API,导致程序卡死
  8. ubuntu三种添加环境变量的方法
  9. 关于--在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常(转)...
  10. json ajax查询,jQuery AJAX和JSON性能查询
  11. silverlight:分享一个不错的自定义布局CollectionFlow(可用于制作相册的哦!)
  12. honeywell1900扫描枪的使用说明
  13. 密码学术语中英文对照(持续更新中)
  14. 相机标定—— 张正友标定法(2)
  15. MySQL 窗函数 流动平均数 running average
  16. TCP三次握手、四次握手过程,以及原因分析
  17. android 字体加粗
  18. 微软雅黑与微软正黑体
  19. 条形码二维码标签编辑打印软件
  20. 微信在线EXCEL自动统计人数

热门文章

  1. A4纸尺寸大小是多少
  2. 什么是用户token(令牌)-- 转
  3. K近邻模型、KNN算法1-构建预测模型
  4. python环境搭建与配置
  5. 算法篇:神奇的卡塔兰数Catalan
  6. 浅谈云计算技术在企业信息化建设中的应用
  7. 【2020.11.30提高组模拟】剪辣椒(chilli)
  8. 佳博 TSC打印机 TSPL指令开发
  9. 用php写表格代码,php读写excel表格程序代码
  10. java执行数据库数据迁移