使用 Google 工作表 API (v4) 格式化单元格(键入持续时间)

Formatting cells (to type Duration) with the Google Sheets API (v4)

我正在以编程方式使用 Google 表格 API (v4) 到 create/update 电子表格,并且 运行 进入以下问题:

我通过 JavaDoc 看到要将单元格设置为数字格式,比如 CURRENCY,我可以将数字格式类型和模式设置为:

"cell": {
  "userEnteredFormat": {
    "numberFormat": {
      "type": "CURRENCY",
      "pattern": "[$¥-411]#,##0.00"  // <--- Added
    }
  }
},
"fields": "userEnteredFormat.numberFormat"  // or "fields": "userEnteredFormat"

但是,我没有看到将 NumberFormat 类型设置为 DURATION 的选项。我发现可接受的枚举包括:NUMBER_FORMAT_TYPE_UNSPECIFIED、TEXT、NUMBER、PERCENT、CURRENCY、DATE、TIME、DATE_TIME、SCIENTIFIC。有什么方法可以将单元格格式设置为 Duration 类型,模仿您可以通过 UI?

执行的操作

This shows what is seen on the UI for setting a cell's format type

您需要获取持续时间的格式令牌并将其用作请求正文中的模式。

为此:

  1. 突出显示任何单元格并将其单元格格式更改为 持续时间
  2. 在同一单元格中,导航至 数字 -> 更多格式 -> 自定义数字格式.
  3. 复制现有格式标记。对于持续时间,它应该是 [h]:mm:ss.
  4. 将请求正文中 pattern 的值替换为 [h]:mm:ss
  5. type的值替换为DATE_TIME

您的请求正文应如下所示:

"cell":{
   "userEnteredFormat":{
      "numberFormat":{
         "pattern": "[h]:mm:ss",
         "type": "DATE_TIME"
      }
   }
}

之前:

之后:

参考: