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

如何在Power Automate中清除SharePoint Excel表格的所有筛选(无需脚本)

解决Power Automate读取SharePoint Excel时因筛选无法获取全部行的问题

核心方案:用Office Script替代宏实现云端自动清筛

宏在云端共享Excel的浏览器环境下无法稳定运行,Office Script是微软针对云端Excel设计的自动化工具,支持浏览器和桌面端,能稳定生效。

步骤1:创建清除筛选的Office Script

  • 打开存储在SharePoint的目标Excel文件,点击顶部菜单栏的「自动化」>「新建脚本」
  • 把默认脚本替换为以下代码,实现遍历所有工作表清除筛选:
    function main(workbook: ExcelScript.Workbook) {
      // 获取文件内所有工作表
      const allSheets = workbook.getWorksheets();
      // 逐个清除工作表的筛选条件
      allSheets.forEach(sheet => {
        const autoFilter = sheet.getAutoFilter();
        if (autoFilter) {
          autoFilter.clearCriteria();
        }
      });
    }
    
  • 保存脚本,命名为「ClearAllFilters」(或其他易识别的名称)

步骤2:在Power Automate流中集成该脚本

  • 找到流中「列出所有行」步骤的位置,在它之前添加一个新操作:选择「Excel Online (Business)」>「运行脚本」
  • 配置操作参数:
    • 站点地址:选择Excel所在的SharePoint站点
    • 文档库:选择文件所在的文档库
    • 文件:选中目标Excel文件
    • 脚本:选择刚才创建的「ClearAllFilters」
  • 确保「运行脚本」步骤执行成功后,再触发「列出所有行」,此时就能获取文件的全部行数据

备选方案:直接控制「列出所有行」参数(限结构化表)

如果无法使用Office Script,可检查「列出所有行」步骤的设置:确保「$filter」参数留空,同时确认「仅显示已筛选的行」选项未勾选(部分Power Automate版本默认不勾选,但需手动确认)。不过这种方式仅能控制流内筛选,对用户手动应用的筛选无效,优先级低于Office Script方案。

内容的提问来源于stack exchange,提问作者Thiago Gomes da Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:49:58