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

如何解决Office Script结合Power Automate在Excel Online中添加二维码的Fetch兼容问题

解决方案:通过Power Automate HTTP连接器替代Office Script的fetch方法

由于Power Automate运行Office Script时不支持fetch API,我们可以将获取二维码并转换为Base64的逻辑转移到Power Automate的HTTP连接器中,再将Base64字符串传递给Office Script完成插入操作。该方案使用微软官方Premium连接器,无第三方依赖。

步骤1:修改Office Script代码

修改后的脚本仅负责接收Power Automate传入的二维码Base64字符串,并插入到指定单元格位置:

async function main(workbook: ExcelScript.Workbook, qrImageBase64: string) {
    // 直接使用传入的Base64字符串添加图片
    const imageShape = workbook.getWorksheet("Sheet1").addImage(qrImageBase64);
    // 定位图片到N15单元格位置
    const targetRange = workbook.getWorksheet("Sheet1").getRange("N15");
    imageShape.setLeft(targetRange.getLeft());
    imageShape.setTop(targetRange.getTop());
}

步骤2:配置Power Automate流程

  1. 添加触发动作:选择合适的触发方式(例如「手动触发一个流」)
  2. 添加HTTP动作(Premium连接器):
    • 方法:GET
    • URI:填写二维码生成地址(示例:https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=Samundra,若需动态内容可拼接动态参数)
    • 响应格式:选择「二进制」
  3. 添加Run script动作(Excel Online (Business) Premium连接器):
    • 选择工作簿存储位置(OneDrive/SharePoint)及目标工作簿
    • 选择修改后的Office Script
    • 在参数qrImageBase64中输入表达式:base64(body('HTTP'))(将HTTP响应的二进制内容转换为Base64)
  4. 保存并测试流程

关键说明

  • HTTP连接器负责完成外部请求,绕开了Office Script中fetch的限制
  • 若需动态生成二维码内容,可在Power Automate中拼接URI参数(例如将chl=Samundra替换为动态文本变量)
  • 所有使用的连接器均为微软官方Premium连接器,符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:05:39