【云扩RPA】sliceBigFiles
切割过大 Excel 文件
这节课我们来说说如何用云扩 RPA 来切割有很多行数据的 Excel 文件。
就像此前,在实际项目实施中,我们拿到一个有 50000 多行数据的 Excel 文件,我们在处理时,将其分隔成了多个 5000 行的文件。为什么需要做这样的分割呢?一种情况是,文件太大可能会影响 RPA 在读写文件时的速度(当然影响速度并不是 RPA 本身的问题,我们可以尝试手动打开一个有这么多行数据的 Excel 文件,速度也会很慢。)另一种情况是,有些业务系统只支持一次性处理数据量有限制,比如:企查查批量查询企业信息时明确写着一次最多处理 5000 条数据。
流程详述
在本课程中,你可以将已准备好的一个包含 50000+ 行数据的 Excel 文件按照用户自定义的数据行数切割为多个文件。
原文件包含在流程文件中,名为 5.1万数据.xlsx。
流程运行完成后(假设文件按5000行/文件进行切割),切割为11个小文件,如图:
如果你希望获取示例流程文件,点击分割过大 Excel 文件获取。
流程实现逻辑
示例流程中使用的是如下图所示的实现逻辑,你可以参考这样的逻辑,甚至实现运行效率更高的流程逻辑。
流程开发步骤
打开云扩编辑器,新建项目
本项目命名为 切割过大Excel文件。
打开 Excel 文件,获取末行号,末列号
使用选择文件组件,方便输入需要处理的 Excel 文件,并把文件路径存放在变量原文件路径中。
使用该路径打开 Excel 文件,使用已有组件获取末行号和末列号。
将获取的末列号数字转换为 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);
更改原文件名
将分割得到的文件路径设置为原文件名称+文件序号的形式。
赋值内容是:
System.IO.Path.GetDirectoryName(原文件路径) + "\" + System.IO.Path.GetFileNameWithoutExtension(原文件路径) + 文件序号 +".xlsx"
复制原文件,并将副本命名为文件序号为1的新文件。
计算分割文件数
使用*循环操作(While)*组件,并输入循环条件。
计算循环次数的思路如下:如果原文件数据有65行,且我们希望切割将其切割为含有不超过10行数据的小文件,那么需要需要切割为7个小文件(65 mod 10 + 1 = 7)。
从前一个文件中读取需要分割的部分
新建文件并写入获取的数据
从前一个文件中删除多余的数据
这个步骤我们可以使用云扩提供的 软件自动化->OfficeExcel->删除数据 实现。但鉴于宏的普遍应用需求,此处使用宏实现。
记得在使用打开/新建组件时,勾选启用宏属性。
录制宏并修改。
在执行宏组件中,使用宏文件。
=“controls” width=“700px” />
在执行宏组件中,使用宏文件。
[外链图片转存中…(img-g2pGs5zx-1607227783157)]
至此,整个流程已完成。
【云扩RPA】sliceBigFiles相关推荐
- 【云扩RPA】CreateFirstAutomationProject
现在,我们已经对编辑器有了基础的了解,那么便开始使用智能录制器录制一下记事本应用程序来熟悉一下. 在此单元中,你将学习到: 智能录制器的使用 变量的使用 现在,我们将打开一个记事本,在记事本中写入内容 ...
- 【云扩RPA】Introduction
欢迎使用云扩RPA编辑器.在本模块中将会帮助你从头开始创建一个自动化项目. 在此单元中,你将学习到: 关于自动化项目相关的基本概念 如何基于智能录制器创建自动化项目 云扩RPA编辑器是一个图形化的流程 ...
- 云扩RPA研习社|如何快速将网页数据转存Excel
提起Excel想必大家都不陌生,相信大家在日常工作中都有使用过.那在RPA中,Excel又是如何应用的呢?今天就让我们跟着Tina老师一起学习RPA开发中Excel组件的相关操作吧. 通过本节课程,你 ...
- 云扩RPA助力济宁银行智慧金融建设全面提速
以 5G.人工智能等为代表的新技术的创新发展正加速向金融领域渗透,给步入 Bank4.0 时代的商业银行提供数字转型变革的新动力.作为"区域领先的数字化精品银行",济宁银行主动出击 ...
- 云扩RPA助力中核财务数字化,迈入高质量发展新阶段
"十四五"开局以来,"金融+科技"发展势头强劲!唯有通过创新实现高质量发展,才能在竞争中脱颖而出,这已成为企业发展的共识. *图片源自中核财务官网 中核财务有限 ...
- 银行自动化案例丨云扩RPA助潍坊银行深挖数字金融服务新动能
随着数字化深刻改变金融行业服务格局,潍坊银行作为地方性城市商业银行,已成为普惠金融服务的生力军,加速推进数字化转型已刻不容缓. 潍坊银行股份有限公司(简称潍坊银行)成立于1997年8月,2018年完成 ...
- 疯狂吐槽云扩rpa的一天
云扩rpa是我用过最不好用的工具了.开发语言基于C#,组件封装的死死的,删除组件时,可能会遇到删除依赖项不干净的情况,读取数据库又不支持改model文件,好不容易绕过C#读取的映射问题,好嘛,pyth ...
- 【云扩RPA】Timing
使用系统功能设定定时任务 云扩控制台支持连接大量机器人并设定流程的定时执行. 但是,当企业因为使用的机器人较少,未部署云扩控制台时,其实也可以借助 Windows 系统自带功能实现简单的定时任务功能. ...
- 云扩RPA携手中联教育引领财务机器人教学创新
2022年全国职业院校技能大赛高职组智能财税赛项,近日在广州成功举办.作为RPA领域的创新领军者,云扩科技携手中联集团,为财税智能赛项提供RPA平台和技术支持. 本次大赛有来自全国的59支代表队236 ...
最新文章
- 增加自增列 耗时长_又一批长事务,P0故障谁来背锅?
- request.servervariables参数
- python3 bytes和bytearray总结
- Eclipse修改console输出最大行数及(IOConsole Updater)
- ArcGIS 10.x属性表乱码问题解决办法
- html中显示shell脚本的输出,网页从shell脚本中输入并显示结果
- FreeRTOS | STM32H7串口中断调用FreeRTOS API,导致程序卡死
- ubuntu三种添加环境变量的方法
- 关于--在 System.Threading.ThreadAbortException 中第一次偶然出现的“mscorlib.dll”类型的异常(转)...
- json ajax查询,jQuery AJAX和JSON性能查询
- silverlight:分享一个不错的自定义布局CollectionFlow(可用于制作相册的哦!)
- honeywell1900扫描枪的使用说明
- 密码学术语中英文对照(持续更新中)
- 相机标定—— 张正友标定法(2)
- MySQL 窗函数 流动平均数 running average
- TCP三次握手、四次握手过程,以及原因分析
- android 字体加粗
- 微软雅黑与微软正黑体
- 条形码二维码标签编辑打印软件
- 微信在线EXCEL自动统计人数