Google Sheets Apps Script批量插入两行代码调整求助
优化Google Sheets Apps Script:批量插入空白行
原脚本通过逐行调用insertRowsAfter实现每行下方插入两行空白行,但频繁的API交互会导致执行效率低下。虽然Google Sheets没有直接支持一次性批量插入所有所需空白行的API,但可以通过逆序插入的方式大幅减少API调用次数,提升执行效率。
优化后的代码如下:
function insertTwoBlankRowsBatch() { var sheet = SpreadsheetApp.getActive().getActiveSheet(); var lastRow = sheet.getLastRow(); // 生成需要插入空白行的位置数组(从下往上) var insertPositions = []; for (var row = lastRow; row >= 1; row -= 3) { insertPositions.push(row); } // 逆序遍历插入位置,从下往上插入,避免行号偏移问题 insertPositions.forEach(function(pos) { sheet.insertRowsAfter(pos, 2); }); }
代码逻辑说明
- 先获取当前活动工作表和数据的最后一行行号
- 生成从最后一行开始、每隔3行的位置数组(原行+插入的2行,下一个目标行需往前偏移3位)
- 从下往上依次插入两行空白行:逆序插入时,后续操作不会影响已处理的行号,无需动态调整参数,API调用次数仅为原数据行数的1/3左右,执行效率显著提升
内容的提问来源于stack exchange,提问作者Michael Brubaker
相关产品推荐
相关产品推荐

