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

Google Sheets一键格式化及清除格式按钮开发需求

Google Sheets一键格式化及清除格式按钮开发需求

嗨,我来帮你搞定这个Google Sheets的格式化按钮需求!你已经有了很好的开头代码,接下来咱们把功能补全,再加上清除格式的功能,最后把这两个功能做成直接点击的按钮,完美解决你的需求~

一、完善格式化函数(增加过滤器等细节)

你现有的代码已经实现了表头样式、字体统一和基础边框,咱们再加上自动添加过滤器的功能,同时优化一下边框的显示效果,让表头和数据区域的区分更明显:

function formatSheet(){
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 改为获取当前激活的工作表,更灵活
  const headers = sheet.getRange('A1:G1');
  const table = sheet.getDataRange();

  // 表头样式设置
  headers.setFontWeight('bold');
  headers.setFontColor('white');
  headers.setBackground('#52489C');
  headers.setHorizontalAlignment('center'); // 表头单独设置居中,更规整

  // 数据区域整体样式
  table.setFontFamily('Roboto');
  table.setHorizontalAlignment('center');
  // 优化边框:表头底部边框加粗,其他边框保持统一
  table.setBorder(true, true, true, true, true, true, '#52489C', SpreadsheetApp.BorderStyle.SOLID);
  headers.setBorder(null, null, true, null, null, null, '#52489C', SpreadsheetApp.BorderStyle.THICK);

  // 给数据区域添加过滤器
  table.createFilter();
}

二、编写清除格式的函数

接下来写一个清除所有自定义格式的函数,把表格恢复到默认状态,包括移除过滤器、清除字体样式、背景色、边框等:

function clearSheetFormatting(){
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const table = sheet.getDataRange();

  // 清除所有格式(字体、颜色、背景、对齐、边框等)
  table.clearFormat();
  // 移除过滤器(如果有的话)
  if(sheet.getFilter()){
    sheet.getFilter().remove();
  }
  // 恢复默认字体(可选,根据你的需求调整)
  table.setFontFamily('Arial');
}

三、给函数添加可点击的按钮

现在把这两个函数做成工作表上的按钮,步骤很简单:

  1. 打开你的Google Sheet,点击顶部菜单栏的插入 > 绘图
  2. 在绘图编辑器里,画一个矩形(或者你喜欢的按钮样式),添加文字比如「一键格式化」,调整颜色和字体后点击「保存并关闭」
  3. 把绘制好的按钮拖到工作表合适的位置,右键点击按钮,选择分配脚本,输入formatSheet(注意大小写要和函数名完全一致)
  4. 重复上面的步骤,再做一个「清除格式」的按钮,分配脚本clearSheetFormatting

这样以后你点击按钮,就能一键完成格式化或者清除所有格式啦,完全符合你想要的效果~

备注:内容来源于stack exchange,提问作者Humphrey_wes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:15:32