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

Apps Script 无表头复制非空行到另一工作表的代码修正求助

修正后的可运行代码
function copyAndAddNewEntries() {
  // 请替换为实际的源表格ID、源工作表名
  var sourceSheet = SpreadsheetApp.openById('SOURCE_SHEET_ID').getSheetByName('SOURCE_SHEET_NAME')
  var sourceSheetrange = sourceSheet.getDataRange();
  var sourceSheetData = sourceSheetrange.getValues();
  // 请替换为实际的目标表格ID、目标工作表名
  var targetSheet = SpreadsheetApp.openById('TARGET_SHEET_ID').getSheetByName('TARGET_SHEET_NAME');

  // 去掉第一行表头 + 过滤全空行
  var filteredData = sourceSheetData.slice(1).filter(row => {
    // 判断行是否非空:只要有一个单元格有内容就保留
    return row.some(cell => String(cell).trim() !== '');
  });

  // 仅当存在有效数据时执行写入操作,避免空写入报错
  if(filteredData.length > 0) {
    targetSheet.getRange(
      targetSheet.getLastRow() + 1, 
      1, 
      filteredData.length, 
      filteredData[0].length
    ).setValues(filteredData);
  }
}

核心改动点

  • 移除表头:通过slice(1)对读取到的二维数组做截取,跳过索引为0的第一行表头数据,仅保留从第二行开始的内容
  • 过滤全空行:使用filter配合some方法,剔除所有单元格都为空的无效行,仅保留存在有效内容的行,同时做了去空格处理避免空白字符误判
  • 适配写入范围:写入目标表时使用过滤后的数据的实际长度作为行高参数,同时新增空数据判断逻辑,避免没有有效数据时的运行报错

内容的提问来源于stack exchange,提问作者Bob Hardball

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:57:02