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

Excel Script开发需求:复制考勤列至表格末尾并重命名

实现Excel Script考勤数据复制与清空功能

我们需要完成的逻辑是:将表格中Attendance列的考勤数据复制到当日日期命名的新列,随后清空原考勤列,以便下周重新登记。以下是完善后的代码:

function main(workbook: ExcelScript.Workbook) {
  // 生成当日日期格式(DD/MM/YYYY)
  var today = new Date();
  var dd = String(today.getDate()).padStart(2, '0');
  var mm = String(today.getMonth() + 1).padStart(2, '0'); 
  var yyyy = today.getFullYear();
  let dateColumnName = dd + '/' + mm + '/' + yyyy;

  let sh = workbook.getActiveWorksheet();
  let tbl = sh.getTable("FBRegister");

  // 获取Attendance列及其数据
  let attendanceColumn = tbl.getColumn("Attendance");
  let attendanceValues = attendanceColumn.getRangeBetweenHeaderAndTotal().getValues();

  // 创建当日日期命名的新列并写入数据
  let newDateColumn = tbl.addColumn();
  newDateColumn.setName(dateColumnName);
  newDateColumn.getRangeBetweenHeaderAndTotal().setValues(attendanceValues);

  // 清空Attendance列的内容
  attendanceColumn.getRangeBetweenHeaderAndTotal().clear(ExcelScript.ClearApplyTo.contents);
}

关键逻辑说明

  • 精准获取数据:用getColumn("Attendance")定位目标列,getRangeBetweenHeaderAndTotal()确保只提取表格的数据区域(排除表头和总计行),避免操作无关单元格。
  • 高效批量赋值:通过getValues()提取数据数组,再用setValues()批量写入新列,比逐单元格复制的执行效率更高。
  • 按需清空原列:clear(ExcelScript.ClearApplyTo.contents)仅清空单元格内容,保留原列格式;如果需要连格式一起清除,可将参数改为ExcelScript.ClearApplyTo.all。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:26:14