如何用Google Scripts删除Google Spreadsheets除第1行外所有行
Google Apps Script 清空Google表格除首行外所有行方案
操作入口
- 打开目标Google Spreadsheets文件
- 点击顶部菜单栏「扩展程序」-「Apps Script」进入脚本编辑器
- 清空编辑器默认生成的占位代码,粘贴对应脚本后保存,点击运行按钮即可执行
场景1:仅清空内容,保留行格式/规则
适合需要保留第2行及之后的行结构、单元格格式、数据验证、条件格式的场景,只会清除单元格内的内容:
function clearContentExceptHeader() { // 默认对当前打开的工作表生效,需指定工作表可替换为 const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('工作表名称'); const sheet = SpreadsheetApp.getActiveSheet(); const totalRows = sheet.getLastRow(); const totalCols = sheet.getLastColumn(); // 无首行以外数据时直接终止执行 if (totalRows <= 1) return; // 选中第2行到末行的全部数据区域,清空内容 sheet.getRange(2, 1, totalRows - 1, totalCols).clearContent(); }
场景2:直接删除首行外所有行
适合需要把表格重置为仅剩表头行的场景,会直接删除第2行及以下的整行:
function deleteRowsExceptHeader() { const sheet = SpreadsheetApp.getActiveSheet(); const totalRows = sheet.getLastRow(); if (totalRows <= 1) return; // 从第2行开始,删除剩余所有行 sheet.deleteRows(2, totalRows - 1); }
注意事项
- 首次运行脚本会弹出账号授权提示,按照页面指引完成Google账号授权即可正常执行,脚本运行在Google官方环境中无数据安全风险
- 单表数据量超过10万行时建议分批处理,避免脚本执行超时
- 如果需要绑定定时任务自动清空,可在Apps Script的触发器面板设置定时执行对应函数
内容的提问来源于stack exchange,提问作者The Addict
相关产品推荐
相关产品推荐

