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

如何通过Power Automate从SharePoint Excel列表批量生成命名Excel文件?

可以用Power Automate完成这个任务,你的思路完全可行,具体实现步骤如下:

步骤1:编写Office Script提取功能名称数组

在存储测试功能列表的Excel文件中,新建一个Office Script,用来读取功能名称列的数据并返回一维数组。示例脚本如下:

function main(workbook: ExcelScript.Workbook): string[] {
  // 假设功能名称在"Sheet1"的A列,第1行为表头,数据从第2行开始
  const targetSheet = workbook.getWorksheet("Sheet1");
  const usedRange = targetSheet.getUsedRange();
  const lastRow = usedRange.getLastRow().getRowIndex();
  const nameRange = targetSheet.getRangeByIndexes(1, 0, lastRow, 1); // 行索引从0开始,对应第2行到最后一行
  const nameValues = nameRange.getValues();
  
  // 转换为一维数组并过滤空值
  return nameValues.map(row => row[0] as string).filter(name => name.trim() !== "");
}

保存脚本后记录好脚本名称,后续流会用到。

步骤2:搭建Power Automate流程

  1. 触发方式:选择「手动触发流」,或根据需求设置定时触发/文件更新触发。
  2. 获取功能名称数组:添加「Excel Online (Business)」的「运行脚本」动作,选择对应的SharePoint站点、功能列表Excel文件,再选择刚才创建的Office Script,执行后即可得到功能名称数组。
  3. 遍历功能名称:添加「应用到每一个」动作,将上一步输出的数组作为遍历对象。
  4. 基于模板生成并重命名文件:在「应用到每一个」内部添加「SharePoint」的「复制文件」动作:
    • 源文件选择你的Excel模板文件(需存储在SharePoint/OneDrive中)
    • 目标文件夹选择新文件的存放路径
    • 「新文件名」处使用动态内容里的「当前项」(即当前遍历的功能名称)加上.xlsx后缀,格式为@{items('Apply_to_each')}.xlsx
    • 可选:勾选「如果已存在则覆盖」避免重复文件报错
  5. (可选)填充新文件内容:若需要给新文件添加对应功能的专属信息,可在「复制文件」后添加「Excel Online (Business)」的「运行脚本」动作,针对新生成的文件执行内容填充脚本。

关键注意事项

  • 确保Power Automate使用的账号拥有目标SharePoint站点的读写权限,以及相关Excel文件的编辑权限。
  • 若功能名称包含/ \ : * ? " < > |等文件名禁用字符,需添加「替换文本」动作提前处理,比如将特殊字符替换为_。
  • 测试阶段先选取少量功能名称验证流程,确认正常后再批量运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:06:24