创建从 powerquery Outlook 链接自动填充的 Excel 数据库

问题描述 投票:0回答:1

我正在理论研究如何自动化当前的流程,该流程非常手动且容易出现人为错误。

我们在 Outlook 收件箱中收到标准化电子邮件模板,其中关键数据发生变化,但字段保持不变。

我已经设法使用强力查询来填充 Excel 文档,但这并没有从我的理解中拉出主要的电子邮件正文。

目前,我们使用收到的电子邮件提供的数据手动填充 Excel 中的迷你数据库。

我想从电子邮件中提取数据,并自动将数据填充到数据库中。

我们在工作中可以使用Python、Excel和SQL,但Excel是主要资源。我很好奇我是否正在启动一个这些软件包无法完成的项目,或者如果有可能的话,一些关于从哪里开始的指导会很棒!

excel database outlook
1个回答
0
投票

您走在正确的道路上。电子邮件正文存在于查询中,但不会按原样加载到 Excel 电子表格中,因为它是一条记录。

我建议您创建一个名为“fMineTheBody”的新空白查询,然后使用 Power Query 编辑器的“高级编辑器”将代码替换为以下内容:

// change below line to "/*" to test it, change to "//*" to turn it into a function
//*
(row as record) as record =>
let
/*/
let
    row = [
        Body = [
            TextBody = "example text of email goes here!#(lf,tab)Status: Success#(lf,tab)Count: 4"
        ]
    ],
//*/
    TextBody = row[Body][TextBody]
in
    [
        Status = Text.BetweenDelimiters(TextBody, "#(tab)Status: ", "#(lf)"),
        Count = Number.From(Text.BetweenDelimiters(TextBody, "#(tab)Count: ", "#(lf)"))
    ]

该功能运行后,在 PowerQuery 编辑器中,您可以右键单击迄今为止拥有的 YourEmailQuery,单击“参考”以创建从该点开始的新查询,然后单击功能区中的“高级编辑器”按钮将代码替换为:

let
    Source = YourEmailQuery,
    #"Added MinedBody" = Table.AddColumn(Source, "MinedBody", fMineTheBody)
in
    #"Added MinedBody"

然后您可以展开 MineTheBody 列以添加每封电子邮件的“成功”和“计数”值!

© www.soinside.com 2019 - 2024. All rights reserved.