我正在理论研究如何自动化当前的流程,该流程非常手动且容易出现人为错误。
我们在 Outlook 收件箱中收到标准化电子邮件模板,其中关键数据发生变化,但字段保持不变。
我已经设法使用强力查询来填充 Excel 文档,但这并没有从我的理解中拉出主要的电子邮件正文。
目前,我们使用收到的电子邮件提供的数据手动填充 Excel 中的迷你数据库。
我想从电子邮件中提取数据,并自动将数据填充到数据库中。
我们在工作中可以使用Python、Excel和SQL,但Excel是主要资源。我很好奇我是否正在启动一个这些软件包无法完成的项目,或者如果有可能的话,一些关于从哪里开始的指导会很棒!
您走在正确的道路上。电子邮件正文存在于查询中,但不会按原样加载到 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 列以添加每封电子邮件的“成功”和“计数”值!