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

如何用Excel Online脚本将工作表存为PDF并通过邮件发送?

表单提交后自动生成指定工作表PDF并发送邮件的解决方案

一、编写Excel Online脚本生成指定工作表PDF

在目标工作簿中,打开「自动化」-「新建脚本」,粘贴以下代码并保存:

function main(workbook: ExcelScript.Workbook, sheetName: string): string {
  // 定位目标工作表
  const targetSheet = workbook.getWorksheet(sheetName);
  if (!targetSheet) {
    throw new Error(`找不到名为 ${sheetName} 的工作表`);
  }
  // 生成该工作表的PDF临时链接并返回
  const pdfLink = targetSheet.getRange().getAsPDF();
  return pdfLink;
}

这个脚本支持传入工作表名称参数,可灵活指定要生成PDF的工作表,生成后会返回PDF的临时访问链接供Power Automate调用。

二、配置Power Automate流程

按以下步骤搭建自动化流程:

  • 触发动作:选择「当有新的Microsoft Forms响应提交时」,关联你用来收集数据的表单。
  • 获取响应详情:添加「获取响应详情」动作,关联同一表单,将触发动作里的「响应ID」作为输入参数,获取完整的表单提交内容。
  • 调用Excel脚本:添加「运行脚本」动作,关联目标工作簿,选择刚才保存的脚本。在sheetName参数里,可直接填入规整答案的工作表名称(比如"整理后答案");如果需要根据表单响应动态切换工作表,就从动态内容里选择表单对应的字段值作为参数。
  • 发送邮件:添加「发送电子邮件(V2)」动作,在附件区域点击「添加附件」,附件名称可设为表单响应_@{utcNow('yyyyMMddHHmmss')}.pdf(自动生成带时间戳的文件名),附件内容选择脚本返回的PDF链接(在动态内容里找脚本的输出结果)。收件人、邮件主题和正文按需设置,还可插入表单响应里的动态内容。

三、核心问题解决

  • 动态工作表设置:通过给脚本传入工作表名称参数,即可在Power Automate里动态指定要生成PDF的工作表——要么写死固定工作表名,要么绑定表单响应里的选项字段实现动态切换。
  • Excel脚本生成PDF:上述脚本的getAsPDF()方法是Excel Online脚本自带的生成PDF的API,无需额外工具,只要确保账号有工作簿编辑权限,且Power Automate的连接账号与Excel账号一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 01:24:32