自动化报表2026年4月9日作者:WPS官方团队

WPS表格如何按日期自动生成周报并通过邮件定时推送?

用WPS多维表+Python列汇总日期数据,一键生成周报并调用本地邮件客户端定时推送,全程无代码也可复用模板。

WPS表格如何自动生成周报, WPS邮件定时发送设置, 怎么在WPS里按日期汇总数据, WPS自动周报未收到邮件怎么办, WPS表格支持定时触发器吗, WPS与Outlook批量邮件集成方法, WPS表格按周筛选数据并导出, WPS Office自动化报表最佳实践
自动化数据汇总邮件推送定时任务周报脚本

功能定位:为什么选“多维表+Python列”而不是传统ET

2026 年 3 月更新后,WPS 把「多维表」正式推到前台:单表千万行依旧流畅,还自带「Python 脚本列」。对周报场景而言,这意味着可以把“按日期汇总”从过去的透视表+宏路线,直接迁移到“SQL 式视图+脚本列”路线——日期维度自动展开,汇总逻辑一次写成,后续只需刷新数据源即可。相比之下,旧版 .et 若用 VBA 得先手动启用宏,macOS 端兼容性也差;传统透视表则每次新增日期都要重新拖拽字段,重复劳动肉眼可见。

把关键词“WPS表格如何按日期自动生成周报并通过邮件定时推送”拆成两步,新版答案变得清晰:① 在多维表完成「自动汇总」;② 用「Python 脚本列」调用本地 SMTP 或 Outlook 完成「邮件定时推送」。下文按版本演进顺序,给出可直接复现的完整路径。

功能定位:为什么选“多维表+Python列”而不是传统ET
功能定位:为什么选“多维表+Python列”而不是传统ET

前置条件与版本边界

1. 客户端:Windows 需 12.9.0 及以上,macOS 需 12.9.1 及以上,移动端暂不支持 Python 列。
2. 账号:登录 WPS 账号并开通「AI 会员」即可使用 Python 列(积分制,每日签到送 20 分,脚本运行一次扣 5 分)。
3. 数据源:日期字段必须为「日期」类型,而非文本;若导入 CSV,可在「数据→分列」里把列类型改成日期。

警告

政企版若开启国密 SM9 加密,Python 列无法访问外网 SMTP,需改用内网邮件网关,否则报 SSL 验证失败。

场景映射:什么样的周报最适合自动化

经验性观察:若你的周报满足以下三项,就值得投入 30 分钟搭建模板——
① 日期维度连续,且每周汇总一次;
② 指标列固定(如销售额、订单量、缺陷数),无需频繁增删字段;
③ 收件人列表稳定,且对格式容忍度较高(HTML 表格即可)。

反例:若每周都要临时新增「自定义指标」或需要嵌套图表,则自动模板反而增加沟通成本,建议半自动——多维表汇总后手动插入图表再发邮件。

操作路径:Windows 端最短 7 步完成

Step 1 新建多维表

启动 WPS→左上角「新建」→「多维表」→选择空白模板。保存时后缀为 .mde,区别于传统 .et。

Step 2 导入原始明细

点击「数据→导入」→选 CSV/Excel→映射日期列→把列类型设为「日期」。导入后右上角可见行数,若超 100 万行,经验性观察首次加载需数十秒,后续增量刷新在亚秒级。

Step 3 建「视图」按周汇总

顶部「+新建视图」→选择「汇总视图」→拖动「日期」到分组区→右键「按周」合并。再把需汇总的指标(如销售额)拖到值区→选「求和」。此时已得到一张按周汇总的透视式表格。

Step 4 添加 Python 脚本列

右侧「工具箱」→打开「Python 列」→输入列名「邮件正文」→在编辑器粘贴以下示例代码(已做脱敏处理):

import pandas as pd
html = pd.DataFrame({'周': [week], '销售额': [sales]}).to_html(index=False)
return html

其中 week、sales 为视图中的字段名,点击「字段」按钮可快速插入占位符。保存后该列会在每一行生成一段 HTML 表格字符串。

Step 5 设置定时刷新

「数据→刷新设置」→勾选「每周一 08:00 自动刷新」。此触发器由本地客户端接管,电脑需处于开机且 WPS 在后台运行。若用笔记本,建议接电源并在「电源管理」里允许后台任务。

Step 6 写邮件推送脚本

再新建一个 Python 列「发邮件」,调用本地 Outlook 或 SMTP。示例(SMTP):

import smtplib, ssl
from email.mime.text import MIMEText
msg = MIMEText(html, 'html', 'utf-8')
msg['Subject'] = '本周销售简报'
with smtplib.SMTP_SSL('smtp.example.com', 465) as s:
    s.login('user', 'pass')
    s.sendmail('[email protected]', ['[email protected]'], msg.as_string())
return 'sent'

若公司用 Exchange,可改用 win32com 调 Outlook,减少密码硬编码风险。

Step 7 测试与回退

右键「运行脚本」→查看「日志」页签,若返回 sent 即成功。失败常见原因:SMTP 被防火墙拦,需在内网开通 465 端口;或 SSL 证书验证失败,按官方 FAQ 在脚本头加两行跳过验证(仅内网测试)。

提示

若需回退到手工流程,只需把视图导出为 .et 文件,旧版用户即可打开,但 Python 列会被丢弃,需重新用透视表+宏实现。

Step 7 测试与回退
Step 7 测试与回退

macOS 端差异与注意点

1. 路径:顶部菜单「文件→新建→多维表」;无「数据→刷新设置」入口,需用「自动化→定时脚本」替代,底层依赖 macOS 的 launchd,若关盖会暂停。
2. 插件冲突:若曾安装旧插件 Wfonts,升级后会闪退,需进安全模式移入废纸篓。
3. SMTP:macOS 自带 Python3,证书路径与 Windows 不同,若报 SSL 错误,需在脚本里指定 capath:

import ssl, certifi
context = ssl.create_default_context(cafile=certifi.where())

不适用场景清单

  • 收件人邮箱超过 500 人:Python 列循环发送会耗尽 AI 积分,且可能被反垃圾拦截。
  • 需要嵌套动态图表:多维表目前不支持「脚本生成图表」,只能输出 HTML 表格或图片链接。
  • 电脑无法长期开机:定时任务依赖本地客户端,若用笔记本且经常休眠,建议改用服务器版 WPS 灵犀自动化(需企业版授权)。
  • 数据源需实时合并多个云端 API:Python 列在内网加密环境无法访问外网,需额外代理,违反合规。

最佳实践 10 条检查表

  1. 日期字段统一用「YYYY-MM-DD」格式,杜绝文本型日期。
  2. 视图命名带「Week」前缀,方便后续脚本引用。
  3. 脚本列先 return 静态文本,调通后再替换为 HTML,减少调试积分消耗。
  4. SMTP 密码用环境变量读入,避免硬编码。
  5. 发送前先把收件人替换成自己的小号,验证格式与乱码。
  6. 每周运行后把「发邮件」列结果复制为值,防止重复触发。
  7. 若公司用国密加密,务必把 SMTP 改为内网中继,关闭 SSL 验证仅作临时测试。
  8. 把 .mde 文件存到「云文档」并开历史版本,脚本误删可一键恢复。
  9. 月底检查 AI 积分余额,低于 50 分提前签到或让管理员分配。
  10. 每年大版本升级前,先在测试机打开模板,确认 Python 列 API 未变更。

故障排查速查

现象最可能原因验证步骤处置
脚本列报「SSL: CERTIFICATE_VERIFY_FAILED」政企版开启国密,Python 无法找到根证书在脚本里 print(ssl.get_default_verify_paths())导入公司根证书,或临时跳过验证(内网测试)
定时刷新未触发笔记本合盖或 WPS 被系统休眠查看系统事件日志有无「WPS background task」接电源并设置「始终运行」电源方案
邮件发送成功但对方收不到被企业网关拦截在邮件日志查看 250 OK 后有无后续 reject联系 IT 把发送服务器加入白名单

FAQ(结构化数据)

Python 列能否调用内网数据库?

可以,但需管理员在后台开启「数据库外连」权限,并在脚本里使用公司根证书验证 SSL;否则报 SSL 错误。

移动端能否收到定时推送?

移动端本身不运行 Python 列,但邮件推送不受限制;只要电脑端脚本执行成功,手机端即可正常收到邮件。

AI 积分用完怎么办?

可每日签到+20 分,或让企业管理员在后台分配月度积分池;临时救急可把脚本列结果复制为值后停用脚本。

升级到最新版后旧 .et 宏会失效吗?

旧宏仍兼容,但无法迁移到多维表;建议保留原文件作备份,新建 .mde 后逐步迁移逻辑。

能否直接生成图表并插入邮件?

截至当前的最新版本,Python 列尚未开放「生成图表」API,需先导出图片再嵌入 HTML,步骤较繁琐,建议先表格呈现。

版本差异与迁移建议

2025 及更早版本没有多维表,需用「数据透视表+VBA」方案;若文件需给旧版同事查看,可在「文件→另存为」选「兼容模式(.et90)」,但 Python 列会丢失,务必保留 .mde 母版。经验性观察:同一数据量下,多维表刷新速度比透视表快约 30%,且内存占用更低,值得迁移。

收尾:下一步行动清单

1. 打开 WPS,确认版本号≥12.9.0;
2. 按本文 Step 1-4 搭建最小可运行模板,先让 HTML 表格顺利生成;
3. 用自己的邮箱完成一次端到端测试,调通 SMTP;
4. 把定时刷新设为「每周一 08:00」并保证电脑常开;
5. 月底复盘:若积分消耗>收入,考虑让管理员分配月度池或改用内网 Exchange。

完成以上五步,你就拥有了一个「数据更新即周报自动送达」的闭环,后续只需维护数据源,无需再手动复制粘贴。祝使用顺利。