影刀RPA Excel自动化完全指南读取、写入、格式设置一网打尽作者林焱前言RPA的典型流程是从网页拿数据 → 处理 → 输出到Excel。如果说网页自动化是数据的入口那Excel自动化就是数据的出口——同时也经常是入口。我遇到的影刀新手至少有七成是因为工作中Excel重复操作太多才来学RPA的。这篇文章专治Excel操作的痛点。一、影刀操作Excel的三种方式对比方式优点缺点适合场景Excel指令集拖拽式不用写代码大文件时较慢日常简单操作COM操作功能全支持格式设置需要Excel软件安装复杂格式处理Python pandas速度极快支持百万行需要Python基础大数据量处理新手先掌握第一种Excel指令集够应付90%的使用场景。后面两种随着熟练度提高再学。二、Excel操作的四大核心指令2.1 打开/创建Excel指令“打开Excel工作簿”两个关键参数文件路径绝对路径如D:\数据\每日报表.xlsx是否新建如果文件不存在勾选自动创建踩坑提示路径里不要有中文特殊字符虽然Windows支持但影刀某些版本会报编码错误。如果必须用中文路径用英文加数字更稳妥比如D:\data\report_20240624.xlsx。拼多多店群自动化上架方案另一个坑Excel文件被其他程序比如你正在手动编辑打开着影刀再打开会报错。养成习惯运行流程前先关闭要操作的Excel文件。2.2 读取数据指令“读取Excel单元格或读取Excel区域”两个使用场景读单个单元格用读取Excel单元格指定行号和列号。比如A1就是行1列1。读一片区域用读取Excel区域指定范围如A1:D100。结果是一个二维列表列表的列表。读取区域的坑如果区域内有合并单元格影刀读取的结果可能不是你预期的。被合并的单元格中只有左上角的格子有值其余都是空。解决读取前取消合并或者在处理结果时手动补全。2.3 写入数据指令“写入Excel单元格或写入Excel区域”单个写入指定行号列号和内容。批量写入准备一个二维列表比如之前网页采集的数据用写入Excel区域一次性全写进去。性能对比循环1000次写入Excel单元格 vs 一次性写入Excel区域——前者可能要跑几分钟后者几秒搞定。因为每次写入Excel单元格都会触发一次文件IO和Excel引擎刷新。所以数据量大的时候先攒到列表里最后一次性写入。2.4 保存与关闭指令“保存Excel和关闭Excel”必须关闭流程结束时一定要关闭Excel。很多人流程跑完了就不管了结果Excel进程在后台堆积电脑越来越卡。自动保存策略不要每写一行就保存一次性能极差。建议每处理完一批数据比如100行保存一次或者在流程最后统一保存。三、实战网页数据采集到Excel全流程场景每天从某数据平台抓取竞品价格整理到Excel中做价格对比。流程拆解阶段一初始化Excel1. 打开/创建Excel → 路径D:\report\竞品价格_{日期}.xlsx 2. 写入Excel区域 → 范围A1:C1 → 值[品名,我方价格,竞品价格]这里{日期}用影刀的获取当前时间指令动态生成每天一个独立文件。阶段二网页采集并实时写入3. 打开网页 → 竞品平台URL 4. 登录账号密码从全局变量取 5. 循环每一页 a. 获取所有商品行 → 存入列表 b. ForEach遍历每一行 → 提取品名和价格 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a5c3b16b8c2a4782b6362520305f7d39.png#pic_center) c. 追加写入Excel计算当前写入的行号 d. 点击下一页判断是否最后一页是则跳出循环计算行号的小技巧用全局变量current_row记录当前写到第几行。初始值2第1行是标题。每写完一行current_row加1。这样不需要每次读取Excel判断最后一行是哪里。阶段三数据处理和收尾6. 关闭Excel → 重新打开刷新缓存 7. Excel公式在D列用公式计算差价 8. 条件格式差价超过10%的标红 9. 保存 → 关闭踩坑实录坑1采集到一半Excel崩溃之前的数据全没。解决每次写完一页的数据就执行一次保存Excel。坑2写入Excel区域指定的范围比实际数据大多出的格子被写入了空值覆盖了原有内容。解决写入前精确计算数据有几行几列不要随手写一个大的区域。坑3同样的流程同事电脑跑正常我电脑跑报COM组件错误。排查同事装了Office 2019我装的是WPS。影刀对WPS的COM接口支持不如Office全面。如果用的是WPS某些格式相关的指令可能失效。建议重要流程用Office环境。四、Excel格式操作TEMU店群如何管理运营设置列宽行高用设置Excel列宽指令。数据采集后自动调整列宽让内容完整显示。设置单元格格式数值保留两位小数、日期格式化、百分比显示——这些用设置Excel单元格格式指令。冻结窗格表头行冻结翻到下面也能看到列名。用冻结Excel窗格指令。条件格式高亮异常值。用Excel公式配合条件格式——写公式到辅助列比如价格差异百分比然后用条件格式对这个列设置大于10%填充红色。五、大文件性能优化如果你的Excel要处理上万行数据这几个技巧能提速10倍以上关闭屏幕更新在操作Excel之前用执行Python设置Application.ScreenUpdating False。写完数据后再恢复为True。Excel不再每次操作后刷新界面速度提升巨大。关闭自动计算设置Application.Calculation xlCalculationManual。操作完后再恢复自动计算并手动触发一次计算。这避免了每写一个单元格就触发整个工作簿的公式重算。用数组写入而非循环写入前面说的攒到二维列表一次性写入。避免频繁保存数据写入阶段不保存只在关键节点和最后各保存一次。六、总结Excel自动化的三个核心原则读写分离先批量读到列表 → 在内存里处理 → 再批量写回去攒够再写不要写一行存一行攒到一定量一次性写入用完就关流程结束必须关闭Excel避免进程泄漏下一篇讲条件判断if/else入门——让你的流程有脑子根据数据情况自动选择不同的执行路径。作者林焱影刀RPA深耕实践者致力于让每个普通人都能学会自动化