Google 工作表 API: 插入格式化文本

Google Sheets API: insert formatted text

我正在尝试将粗体文本插入 Google 电子表格。我有以下成功插入文本的 NodeJS 代码。

var body = {
 data: [{
   range: 'M2:M3',
   values: [["value1"],["value2"]]
 }],
 valueInputOption: 'USER_ENTERED',
};

var sheets = google.sheets('v4');
  sheets.spreadsheets.values.batchUpdate({
    auth: auth,
    spreadsheetId: SPREADSHEET_ID,
    resource: body
  }, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return;
    }
  });

查了一下发现要将文本格式改为粗体,需要用到下面的代码

requests: [
 {
   "format": {
     "textFormat": {
       "bold": true
      }
   }
 }
]

但是,我不明白这段代码应该放在哪里。尝试将 requestsformat 分别放在 databatchUpdate 中,但没有用。

这个示例脚本怎么样?如果要同时更新单元格值和单元格格式,可以使用 spreadsheets.batchUpdate。详细信息为here.

以下示例将 [["value1"],["value2"]] 导入到 'M2:M3',如您的脚本所示。作为示例,Sheet id 为 0。范围需要输入 GridRange

示例脚本:

var sheets = google.sheets('v4');
var request = {
  spreadsheetId: SPREADSHEET_ID,
  resource: {
    "requests": [
      {
        "updateCells": {
          "rows": [
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "value1"
                  },
                  "userEnteredFormat": {
                    "textFormat": {
                      "bold": true
                    }
                  }
                }
              ]
            },
            {
              "values": [
                {
                  "userEnteredValue": {
                    "stringValue": "value2"
                  },
                  "userEnteredFormat": {
                    "textFormat": {
                      "bold": true
                    }
                  }
                }
              ]
            }
          ],
          "range": {
            "sheetId": 0, // Sheet id
            "startColumnIndex": 12,
            "endColumnIndex": 13,
            "startRowIndex": 1,
            "endRowIndex": 3
          },
          "fields": "*"
        }
      }
    ]
  },
  auth: auth,
};
sheets.spreadsheets.batchUpdate(request, function(err, response) {
  if (err) {
    console.error(err);
    return;
  }
  console.log(JSON.stringify(response, null, 2));
});

如果我误解了你的问题,我很抱歉。