使用 updateCells API 请求更新多个单元格的格式
Update format of more than one cell with updateCells API request
我试图将一系列单元格居中对齐,但只有该范围内的第一个单元格更新为指定格式。
这是我的代码:
align = 'CENTER'
data={
"requests": [
{
"updateCells": {
"rows": [
{
"values": [
{
"userEnteredFormat": {
"horizontalAlignment": align,
"textFormat": {
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
}
]
}
],
"range": {
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat"
}
}
]
}
如果我记录值 - 即 print (startRowIndex, endRowIndex, startColumnIndex, endColumnIndex)
- 它们是正确的(例如 0 1 27 30
),但只有第一个单元格更新为格式 - 而不是整个范围。
这是怎么回事?如何将指定格式应用于整个范围?
您想更新 "AB1:AD1" ({startRowIndex: 0, endRowIndex: 1, startColumnIndex: 27, endColumnIndex: 30}
)。如果我的理解是正确的,这个修改怎么样?
修改点数:
- 更新3列时,也需要更新值。在您的情况下,您想要更新 3 列。所以需要创建像
{values: [{userEnteredFormat: ###}, {userEnteredFormat: ###}, {userEnteredFormat: ###}]}
.
修改后的请求:
{
"requests":
[
{
"updateCells":
{
"rows":
[
{
"values":
[
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
}
]
}
],
"range":
{
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat",
}
}
]
}
如果我误解了你的问题,请告诉我。我想修改一下。
编辑:
当你想反映很多单元格的格式时,可以使用repeatCell
。请求正文如下。在此示例中,范围内的所有单元格都被修改。
修改后的请求:
{
"requests":
[
{
"repeatCell":
{
"cell":
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
"range":
{
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat"
}
}
]
}
参考:
我试图将一系列单元格居中对齐,但只有该范围内的第一个单元格更新为指定格式。
这是我的代码:
align = 'CENTER'
data={
"requests": [
{
"updateCells": {
"rows": [
{
"values": [
{
"userEnteredFormat": {
"horizontalAlignment": align,
"textFormat": {
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
}
]
}
],
"range": {
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat"
}
}
]
}
如果我记录值 - 即 print (startRowIndex, endRowIndex, startColumnIndex, endColumnIndex)
- 它们是正确的(例如 0 1 27 30
),但只有第一个单元格更新为格式 - 而不是整个范围。
这是怎么回事?如何将指定格式应用于整个范围?
您想更新 "AB1:AD1" ({startRowIndex: 0, endRowIndex: 1, startColumnIndex: 27, endColumnIndex: 30}
)。如果我的理解是正确的,这个修改怎么样?
修改点数:
- 更新3列时,也需要更新值。在您的情况下,您想要更新 3 列。所以需要创建像
{values: [{userEnteredFormat: ###}, {userEnteredFormat: ###}, {userEnteredFormat: ###}]}
.
修改后的请求:
{
"requests":
[
{
"updateCells":
{
"rows":
[
{
"values":
[
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
}
]
}
],
"range":
{
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat",
}
}
]
}
如果我误解了你的问题,请告诉我。我想修改一下。
编辑:
当你想反映很多单元格的格式时,可以使用repeatCell
。请求正文如下。在此示例中,范围内的所有单元格都被修改。
修改后的请求:
{
"requests":
[
{
"repeatCell":
{
"cell":
{
"userEnteredFormat":
{
"horizontalAlignment": align , #'CENTER','LEFT','RIGHT',
"textFormat":
{
"fontFamily": fontFamily,
"fontSize": fontSize
}
}
},
"range":
{
"sheetId": sheetId,
"startRowIndex": startRowIndex,
"endRowIndex": endRowIndex,
"startColumnIndex": startColumnIndex,
"endColumnIndex": endColumnIndex
},
"fields": "userEnteredFormat"
}
}
]
}