首页 > 解决方案 > 在 Google Apps Script API 中使用 batchUpdate 更新背景颜色

问题描述

我正在尝试使用 Google Apps Scripts batchUpdate 来更新一系列单元格的样式。

我已经整理了一个非常简单的示例,希望能够让我开始,但是我收到了以下错误消息。

GoogleJsonResponseException:对 sheet.spreadsheets.values.batchUpdate 的 API 调用失败并出现错误:收到的 JSON 负载无效。未知名称“请求”:找不到字段。在 updateGoogleSheet(fullSheet/fullSheet:316)

我尝试进行更新的代码如下

    var data = {
        requests: [{
            updateCell: {
                range: 'Sheet3!A3',
                cell: {
                    userEnteredFormat: {
                        backgroundColor: {
                            red: 1
                        }
                    }
                },
                fields: 'userEnteredFormat(backgroundColor)'
            }
        }]
    };

    Sheets.Spreadsheets.Values.batchUpdate(data, spreadsheetId);

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-api

解决方案


听起来您真正想要的是声明一个范围列表并将格式应用于批量。

var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C','D4']);
rangeList.setBackground('red');

sheet.getRangeList(['B3','F6').setFontFamily("Roboto"); 

推荐阅读