如何在Google Sheets/Apps Script中复制数值并保留原有单元格格式?
解决方案
你可以直接使用 Google Apps Script 内置的 copyTo 方法实现需求,该方法支持完整复制指定范围的数值、格式配置、合并单元格规则等内容,无需单独编写多段格式同步代码。
修改后的代码如下:
function copyTable() { let sheet = SpreadsheetApp.getActive().getSheetByName('ExampleSheet') // 定义要复制的源范围 let sourceRange = sheet.getRange(2, 2, 9, 6) // 仅需指定目标范围的左上角起始单元格即可,无需严格匹配源范围尺寸 let targetStartCell = sheet.getRange(13, 2) // 执行复制操作,默认同步所有数值、格式、合并单元格规则、公式等内容 sourceRange.copyTo(targetStartCell) }
如果你有特殊复制需求,比如不需要同步公式仅需要数值和格式,可以指定复制类型参数:
// 仅复制数值+所有格式,不保留公式 sourceRange.copyTo(targetStartCell, SpreadsheetApp.CopyPasteType.PASTE_VALUES_AND_FORMATTING, false)
上述方案可以完整覆盖你需要保留的所有格式:合并单元格、粗体样式、单元格背景色、边框配置都会同步复制到目标范围。
内容的提问来源于stack exchange,提问作者Moritz Wolff
相关产品推荐
相关产品推荐

