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'); }
三、给函数添加可点击的按钮
现在把这两个函数做成工作表上的按钮,步骤很简单:
- 打开你的Google Sheet,点击顶部菜单栏的插入 > 绘图
- 在绘图编辑器里,画一个矩形(或者你喜欢的按钮样式),添加文字比如「一键格式化」,调整颜色和字体后点击「保存并关闭」
- 把绘制好的按钮拖到工作表合适的位置,右键点击按钮,选择分配脚本,输入
formatSheet(注意大小写要和函数名完全一致) - 重复上面的步骤,再做一个「清除格式」的按钮,分配脚本
clearSheetFormatting
这样以后你点击按钮,就能一键完成格式化或者清除所有格式啦,完全符合你想要的效果~
备注:内容来源于stack exchange,提问作者Humphrey_wes
相关产品推荐
相关产品推荐

