我正试图在Google表格中复制一些简单的击键。我想将整个工作表更改为字体Balthazar
和尺寸11
。我可以通过ctrl
+ a
执行此操作,然后在下拉列表中选择字体和大小。但是,我想要1000张。
我的问题是,当我使用以下代码执行此操作时,它会删除单元格中的现有格式。我该如何避免?
这是我的代码:
align=None
fontFamily='balthazar'
fontSize = 11
data={
"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"
}
}
]
}
答案 0 :(得分:2)
您想添加新格式(例如,horizontalAlignment和textFormat),而所有单元格的原始格式都是 NOT 修改。即,当" A1"具有红色背景颜色,即使请求正文添加了新格式,您也不想更改背景颜色。如果我的理解是正确的,那么这个修改怎么样?
"fields": "userEnteredFormat"
"fields": "userEnteredFormat/textFormat,userEnteredFormat/horizontalAlignment"
通过此修改,只能修改horizontalAlignment
和textFormat
。
如果我误解了你的问题,我很抱歉。
我知道您只想更改字体系列和字体大小。你能试试这个领域吗?请仅修改请求正文的字段。
"fields": "userEnteredFormat/textFormat/fontFamily,userEnteredFormat/textFormat/fontSize"
The document of Sheets API表示fields
是"字符串(FieldMask格式)"。所以上面的值也可以写成如下。
"fields": "userEnteredFormat.textFormat.fontFamily,userEnteredFormat.textFormat.fontSize"