You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动将Outlook中的Excel附件转为CSV UTF-8并上传至Azure Blob Storage

自动化实现流程方案

方案一:Power Automate(低代码快速落地)

适合无开发经验,依托微软生态快速搭建自动化流程:

  • 触发规则配置:创建新流,选择「当收到新邮件(V3)」触发器,设置精准筛选条件:
    • 发件人匹配ServiceNow官方邮箱
    • 主题包含报表相关关键词(如"每日运营报表")
    • 附件存在且后缀为.xlsx/.xls
  • 遍历处理附件:添加「应用到每个」动作,遍历邮件附件集合,仅处理Excel格式文件
  • 转换为UTF-8编码CSV:
    1. 用「转换文件」动作将Excel附件转为CSV格式
    2. 添加「编码内容」动作,选择转换后的CSV内容,编码格式设为UTF-8,输出类型选「字节」
  • 上传至Azure Blob存储:添加「创建Blob」动作,连接Azure存储账户,指定目标容器,Blob名称设为报表名称_时间戳.csv(避免重名),内容选择编码后的UTF-8字节流

方案二:Python脚本(自定义度高)

适合有开发能力,需要灵活扩展逻辑的场景:

  • 依赖库安装:执行pip install pandas openpyxl azure-storage-blob msal安装所需工具库
  • 核心逻辑步骤:
    1. 读取Outlook邮件:通过Microsoft Graph API完成OAuth认证,筛选来自ServiceNow的目标邮件,获取并下载Excel附件到本地临时目录
    2. Excel转UTF-8 CSV:用pandas读取Excel文件(支持多Sheet,可按需合并或单独导出),执行df.to_csv("temp_report.csv", encoding="utf-8", index=False)生成UTF-8编码的CSV文件
    3. 上传至Blob存储:用azure-storage-blob的BlobClient连接目标存储账户和容器,调用upload_blob上传CSV文件,上传完成后删除本地临时文件
  • 定时执行:用Windows任务计划或Linux Cron设置每日定时运行脚本,实现自动化触发

通用注意事项

  • Power Automate需确保操作账户同时拥有Outlook和Azure Blob存储的访问权限
  • Python脚本需妥善保管OAuth认证密钥和Azure存储连接字符串,避免泄露
  • 两种方案都建议添加异常处理逻辑,比如邮件无有效附件、Excel文件损坏、Blob上传失败时触发日志记录或告警

内容的提问来源于stack exchange,提问作者user3840800

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:27:50