在 Excel 中记录日常更改,并使用 Power Automate 流报告这些更改
Power Automate 和 Office 脚本相结合,可处理重复任务。 在此示例中,你的任务是每天在工作簿中记录单个数值读取,并报告自昨天以来的更改。 你将生成一个流来获取该阅读内容,将其记录在工作簿中,并通过电子邮件报告更改。
设置:示例 Excel 文件
此工作簿包含脚本所需的数据、对象和格式设置。
示例代码:记录和报告每日读数
将以下脚本添加到示例工作簿。 在 Excel 中,使用 “自动化>新脚本” 粘贴代码并保存脚本。 将其保存为 “记录每日值 ”,然后亲自尝试示例!
function main(workbook: ExcelScript.Workbook, newData: string): string {
// Get the table by its name.
const table = workbook.getTable("ReadingTable");
// Read the current last entry in the Reading column.
const readingColumn = table.getColumnByName("Reading");
const readingColumnValues = readingColumn.getRange().getValues();
const previousValue = readingColumnValues[readingColumnValues.length - 1][0] as number;
// Add a row with the date, new value, and a formula calculating the difference.
const currentDate = new Date(Date.now()).toLocaleDateString();
const newRow = [currentDate, newData, "=[@Reading]-OFFSET([@Reading],-1,0)"];
table.addRow(-1, newRow);
// Return the difference between the newData and the previous entry.
const difference = Number.parseFloat(newData) - previousValue;
console.log(difference);
return difference.toString();
}
示例流:报告日常更改
按照以下步骤为示例生成 Power Automate 流。
创建新的 计划云流。
将流计划为每 1 天重复一次。
选择“创建”。
在实际流程中,你将添加一个获取数据的步骤。 数据可能来自其他工作簿、Teams 自适应卡或任何其他源。 若要测试示例,请创建一个测试编号。 添加操作并选择 “初始化变量” 操作。 为它提供以下值。
- 名称:输入
- 类型:整数
- 值:190000
添加操作并选择 Excel Online (Business) 连接器的 “运行脚本 ”操作。 对操作使用以下值。
- 位置:OneDrive for Business
- 文档库:OneDrive
- 文件:daily-readings.xlsx (通过文件浏览器) 选择
- 脚本:记录每日值
- newData: 输入 (动态内容)
该脚本将每日读取差异作为名为“result”的动态内容返回。 对于此示例,可以通过电子邮件将信息发送给自己。 添加操作并选择 Outlook 连接器的“ 发送电子邮件 (V2) ”操作 (或任何你喜欢) 的电子邮件客户端。 使用以下值完成操作。
- 目标:电子邮件地址
- 主题:每日阅读更改
- 正文:“与昨天的差异:”结果 (Excel) 的动态内容
保存流并试用。使用流编辑器页上的“ 测试 ”按钮。 请务必在出现提示时允许访问。