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

如何在Google表格中将Changelog变更日志的最新条目展示在顶部

解决方案

你只需将代码末尾追加行的逻辑替换为在表头下方插入新行的逻辑,即可实现最新变更记录放在顶部,具体修改如下:

核心改动点

删除原代码最后一行的appendRow语句,替换为插入行+赋值的逻辑:

// 在第1行表头下方插入1行空行
changelogSheet.insertRowBefore(2);
// 给新插入的第2行填充变更数据
changelogSheet.getRange(2, 1, 1, 7).setValues([[timestamp, currentSheetName, cell.getA1Notation(), typeChange, previousValue, newValue, user]]);

完整修改后代码

function myFunction1(e) {  
  var changelogSheetName = "Changelog";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var cell = SpreadsheetApp.getActiveRange();
  var timestamp = new Date();
  var currentSheet = ss.getActiveSheet();
  var currentSheetName = currentSheet.getName();
  var previousValue = e.oldValue;
  var newValue = cell.getValue();
  var typeChange = "编辑";
 
  
  // 如果编辑的是Changelog表本身,不记录避免循环触发
  if (currentSheetName == changelogSheetName) return;
  var changelogSheet = ss.getSheetByName(changelogSheetName);
  
  if (changelogSheet == null) {
   
    // 不存在Changelog表时自动创建
    changelogSheet = ss.insertSheet(changelogSheetName, ss.getNumSheets());
    
    Utilities.sleep(2000);
    
    ss.setActiveSheet(currentSheet);    
    changelogSheet.getRange('A1:G1').setBackground('#E0E0E0');
    changelogSheet.appendRow(["操作时间", "工作表", "单元格", "操作类型", "旧值", "新值", "操作用户"]);
    changelogSheet.deleteColumns(8,19);
    changelogSheet.setFrozenRows(1);
    changelogSheet.setColumnWidth(1, 170);
    changelogSheet.setColumnWidth(7, 170); 
    changelogSheet.protect();
  }
  
 
  var user = Session.getEffectiveUser().getEmail();
  
  if (previousValue == null){
    typeChange = "新增"; 
  } else if (newValue == "") {
    typeChange = "删除";  
  } 
  
  // 替换原来的appendRow逻辑,最新记录插在表头下方
  changelogSheet.insertRowBefore(2);
  changelogSheet.getRange(2, 1, 1, 7).setValues([[timestamp, currentSheetName, cell.getA1Notation(), typeChange, previousValue, newValue, user]]);
}

修改后所有新产生的变更记录都会直接插入到表头下方的第一位,无需滚动即可直接查看最新内容,历史记录会自动向下顺延,不会丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:09:00