用 Agent 做 Excel 报表自动化:从每月加班到一键生成

用 Agent 做 Excel 报表自动化:从每月加班到一键生成

每月月底,我都要花 3-4 小时做一份销售报表:从系统导出数据 → 打开 Excel → 清洗 → 透视表 → 图表 → 排版 → 发邮件。这份重复劳动,其实完全可以让 Agent 接管。

这期分享我怎么用 Agent 把「月度报表」从手工 3 小时变成一键 10 秒,中间踩了不少坑。

一、先拆:报表生产有哪些环节

复制代码
导出数据 → 数据清洗 → 聚合计算 → 图表生成 → 排版输出 → 邮件发送

逐个分析哪些能自动化:

环节 能不能自动化 谁来干
导出数据 Agent(调接口/读库)
数据清洗 Agent(去空/去重/格式统一)
聚合计算 Agent(透视/分组/汇总)
图表生成 Agent(matplotlib/openpyxl)
排版输出 Agent(模板渲染)
邮件发送 ⚠️ 敏感 人确认后手动发(涉及外部发送)

二、数据清洗:Agent 最擅长的脏活

原始数据永远有一堆坑:空行、重复、格式不统一。用 pandas 几行搞定:

python 复制代码
import pandas as pd

df = pd.read_excel("sales_raw.xlsx")
# 清洗
df = df.dropna(subset=["order_id"])          # 去空订单
df = df.drop_duplicates(subset=["order_id"]) # 去重
df["amount"] = pd.to_numeric(df["amount"], errors="coerce")  # 统一数字
# 输出
df.to_excel("sales_clean.xlsx", index=False)

关键 :清洗规则要写死(可解释、可复现),不要每次让 Agent 临场发挥。

三、聚合计算:透视表逻辑

报表的核心是聚合,规则由人定:

python 复制代码
pivot = df.pivot_table(
    index="region",          # 按地区
    columns="month",          # 按月
    values="amount",
    aggfunc="sum",
)

把指标定义清楚(GMV、单量、客单价、环比),Agent 按公式算,不主观发挥

四、图表 + 排版:模板化

图表不要每次重新设计,固定模板 + 填数据

python 复制代码
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(10, 4))
pivot.plot(kind="bar", ax=ax)
ax.set_title("各区域月度销售")
fig.savefig("chart.png", dpi=150, bbox_inches="tight")

模板的好处:

  • 风格统一,领导看着顺眼
  • 换数据就行,不用每次调样式

五、生成最终 Excel(openpyxl)

python 复制代码
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill

wb = Workbook()
ws = wb.active
ws.append(["区域", "GMV", "同比"])
ws.append(["华东", 123456, "+12.3%"])
# 样式:表头加粗、背景色

注意 :样式(表头、配色、列宽)做一次,以后复用,Agent 每次都套模板。

六、踩坑记录

  1. 公式 vs 值:Agent 直接写死计算值,不写公式。读取方看不到公式,只看到结果,更稳。
  2. 编码:Excel 中文乱码 → 统一 UTF-8。
  3. 数据源权限 :报表数据从系统导出,要用接口/脚本,别用爬虫硬爬页面。
  4. 脱敏 :报表中的客户名/订单号等真实信息绝不落盘、不发外部,只留必要字段。
  5. 别让 Agent 直接发邮件:对外发送一律人工确认(合规)。

七、效果

  • 耗时:每月 3 小时 → 一键 10 秒(清洗+聚合+图表+排版)
  • 准确率:规则固定,无人为遗漏,出错率降为 0
  • 复用:模板固化,换数据源就是改配置

总结

Excel 报表自动化是 Agent 的完美场景:

复制代码
导数据(脚本)→ 清洗(pandas)→ 聚合(规则)→ 图表(模板)→ 排版(模板)→ 人确认发布

一切机械、可重复、有规则的工作都交给 Agent,涉及对外动作(发邮件)永远留给人。 这样每月省下 3 小时,还不背锅。

下一篇(Java 系列收官):接口性能压测与优化实战,从 JMH 到生产瓶颈定位。

相关推荐
武子康6 分钟前
小智断网后还能做什么?沿一次唤醒看清设备与服务端的分工
人工智能·llm·agent
西安栈上月明软件科技20 分钟前
从 Linux 0.01 到 AI 开源:星图邻的开源实践
人工智能·自然语言处理·架构·开源·fastapi
麻雀飞吧21 分钟前
先判断工具用来学习、开发还是执行
人工智能·python
甲维斯32 分钟前
ZCode:快来领“免费”3亿tokens和“Git打包服务”
人工智能
揽秀亭长34 分钟前
视频转文字有哪些方法?在线AI、剪辑软件、本地对比
人工智能·音视频
RoboWizard1 小时前
三星和金士顿内存条哪个更适合游戏超频
大数据·人工智能
深圳市恒星物联科技有限公司2 小时前
轻量MCU设备通过OpenHarmony兼容性测评的全流程关键要点与实战踩坑经验
大数据·人工智能·物联网·鸿蒙
AI闲人2 小时前
企业 AI 最大的问题,不是数据不足,而是数据没有业务语义
人工智能·数字化·企业ai落地
米小虾2 小时前
一周 AI 观察(9.14–9.18):Anthropic 自曝"AI 写了我四分之一的研发",于是这一周所有人都在买同一样东西
人工智能
米小虾2 小时前
加了 20 条示例反而变差:你的 few-shot 提升,可能只是 prompt 变长的功劳
人工智能·llm