一、问题背景:报表的"重复体力"
在FAB,每天要出20+报表(良率日报/设备OEE/异常统计),流程固定:登MES导出→Excel透视→填模板→发邮件。2021年我每天花2小时做这些,还因手误发错过数据。
痛点:高度重复、规则明确但耗人力;人工易错(复制粘贴错行);节假日无人做报表。
RPA(机器人流程自动化)正是为这种"规则明确重复任务"而生。
二、技术原理:为什么RPA适合报表
RPA模拟人操作UI(点击/输入/复制),不需改造现有系统(MES不用开放API也能自动化)。
方法:用UiPath/Python+Selenium编排流程:登录→导出→Excel处理→邮件发送,定时触发。
优势:非侵入(不改系统)、快上线、零错误。局限:UI变化(系统升级)需重录脚本。
三、实战案例:某厂日报表自动化
2023年用Python+Selenium自动化20张日报:定时(每天8点)自动登MES导出+Excel加工+邮件分发。
效果:耗时从2小时→5分钟(-96%);错误率从月均3次→0;节假日自动运行不中断。
踩坑:MES登录有验证码,加OCR识别后自动化;系统升级UI变了,脚本需维护。
图1:RPA将日报处理从2小时压缩到5分钟
四、完整代码
RPA报表自动化代码(Selenium):
from selenium import webdriver
import pandas as pd, smtplib
driver = webdriver.Chrome()
# 1. 登录MES并导出
driver.get("http://mes/report")
driver.find_element("id","user").send_keys("op")
driver.find_element("id","pass").send_keys("***")
driver.find_element("id","export").click()
# 2. Excel加工
df = pd.read_excel("export.xlsx")
report = df.pivot_table("yield", "product", "date")
# 3. 邮件发送
with smtplib.SMTP("mail") as s:
s.sendmail("bot@fab", "manager@fab", report.to_html())
# 定时: Windows任务计划/ cron 每天8:00触发
【为什么这样写】Selenium模拟人操作MES(无需API),send_keys填登录、click触发导出;pandas pivot_table一行完成报表加工(替代手工透视);smtplib自动发邮件;最后用系统定时任务每天8点触发,全程无人值守。
五、效果对比:报表方式对比
日报处理统计:
指标 | 人工 | RPA | 提升 |
耗时 | 2h | 5min | -96% |
错误率 | 月3次 | 0 | 消除 |
节假日 | 断 | 自动 | 突破 |
人力 | 占用 | 释放 | 解放 |
扩展性 | 差 | 易复制 | 提升 |
RPA在效率、准确性、可靠性上全面胜出,是规则报表的最佳解。
图2:RPA上线后报表错误归零
六、实施建议:落地三步
阶段1:梳理规则明确的重复报表;
阶段2:用Selenium/UiPath录脚本;
阶段3:系统定时任务触发+异常告警。
七、进阶方向:从RPA到IPA
当前局限:RPA只做规则任务。下一步IPA(智能流程自动化,加AI决策)。
行业趋势:RPA+LLM处理非结构化。
我的判断:RPA是数字化转型第一步。
------------------------------------------------------------
【评论引导】你们厂报表还手工做吗?想自动化吗?评论区聊聊。
【VIP推广】VIP资源《RPA报表自动化代码包》已上传,私信[RPA]获取。
【粉丝关注】关注我,分享半导体效率工具实战。