如何修改Google Apps Script实现复制数据到相邻列时自动插入时间戳表头?
调整后可用的完整脚本
function readfleetnum() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet5"); // 读取B列第2行起的所有待存档数据 var valuesToCopy = sheet.getRange(2, 2, sheet.getLastRow() - 1, 1).getValues(); // 计算新存档列的列号 var newArchiveCol = sheet.getLastColumn() + 1; // 写入存档数据到新列第2行开始的位置 sheet.getRange(2, newArchiveCol, valuesToCopy.length, 1).setValues(valuesToCopy); // 生成当前时间戳作为新列表头,时区取脚本默认时区 var archiveTime = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm"); sheet.getRange(1, newArchiveCol).setValue(archiveTime); }
主要调整说明
- 优化了重复获取同工作表的冗余代码,减少API调用损耗
- 修正了原代码取值行数的计算逻辑,避免多取第一行表头的空值或无关内容
- 新增时间戳表头逻辑,默认生成
年-月-日 时:分格式的时间,你可以按需修改Utilities.formatDate的第三个参数调整格式,比如只需要存档日期的话改成"yyyy-MM-dd"即可
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

