java - 使用 Google Sheets API (v4) 格式化单元格(输入 Duration)
问题描述
我正在使用 Google Sheets API (v4) 以编程方式创建/更新电子表格并遇到以下问题:
我通过 JavaDoc 看到将单元格设置为 NumberFormat,比如 CURRENCY,我可以将 NumberFormat 类型和模式设置为:
"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 执行的操作?
解决方案
您需要获取持续时间的格式标记并将其用作请求正文中的模式。
要做到这一点:
- 突出显示任何单元格并将其单元格格式更改为Duration
- 在同一单元格中,导航到数字->更多格式->自定义数字格式。
- 复制现有的格式标记。持续时间应该是
[h]:mm:ss
. pattern
将请求正文中的值替换为[h]:mm:ss
- 将 的值替换
type
为DATE_TIME
您的请求正文应如下所示:
"cell":{
"userEnteredFormat":{
"numberFormat":{
"pattern": "[h]:mm:ss",
"type": "DATE_TIME"
}
}
}
前:
后: