如何在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
相关产品推荐
相关产品推荐

