如何使用Office Scripts按列名筛选Excel Online表格指定列并删除其余列
使用Office Scripts保留指定列并删除多余列
针对你需要保留Categ_No、Position和Bonus列,删除其他列的需求,下面是直接可用的Office Scripts代码,附带新手友好的说明:
完整脚本代码
function main(workbook: ExcelScript.Workbook) { // 获取目标表格(这里假设表格叫"Table1",如果你的表格名不同,改成实际名称) const targetTable = workbook.getTable("Table1"); if (!targetTable) { console.log("未找到指定表格,请检查表格名称是否正确"); return; } // 定义需要保留的列名数组 const columnsToKeep = ["Categ_No", "Position", "Bonus"]; // 倒序遍历表格列(正序删除会导致索引错乱,必须倒序) for (let i = targetTable.getColumns().length - 1; i >= 0; i--) { const currentColumn = targetTable.getColumns()[i]; const columnName = currentColumn.getName(); // 如果当前列名不在保留列表中,删除该列 if (!columnsToKeep.includes(columnName)) { currentColumn.delete(); console.log(`已删除列:${columnName}`); } } console.log("列删除操作完成,已保留指定列"); }
新手操作步骤
- 打开你的Excel Online工作簿,点击顶部菜单栏的自动化 → 新建脚本
- 把脚本编辑器里的默认代码替换成上面的代码
- 修改代码中的
"Table1"为你实际的表格名称(可以在表格左上角看到表格名) - 点击编辑器顶部的运行按钮,执行脚本
关键细节说明
- 倒序遍历的原因:如果正序删除列,后面的列索引会往前移动,导致遗漏或错误删除列。倒序从最后一列开始删,就不会影响前面列的索引位置。
- 表格名称验证:脚本开头会检查是否存在指定表格,避免因名称错误导致运行失败,控制台会输出提示信息。
- 列名匹配:列名区分大小写,要确保
columnsToKeep里的名称和表格实际列名完全一致(包括大小写和空格)。
内容的提问来源于stack exchange,提问作者Kavinda_404
相关产品推荐
相关产品推荐

