我能够成功运行
format_cell_range()
将单元格从正常更改为粗体,然后再返回,但我无法将其更改为百分比。
from gspread_formatting import format_cell_range, CellFormat, NumberFormat
worksheet = <worksheet successfully auth-d and connected>
fmt = CellFormat(numberFormat=NumberFormat(type='PERCENT', pattern="0.00%")) # define the format as percentage
format_cell_range(worksheet, 'A1', fmt)
我在单元格 A1 中的值为 0.1,我希望其读数为 10.00%
我在这里做错了什么?
我已阅读此处的文档:
而且我很确定我已经正确设置了它,当我拨打电话时,却没有回复。
如果我这样做:
default_format = CellFormat(textFormat={'bold': False})
format_cell_range(worksheet, 'A1', default_format)
或使用
textFormat={'bold': False}
我可以在粗体和非粗体之间切换。所以它是连接的,但我一定在百分比的单元格格式中遗漏了一些东西。
我什至尝试了一种完全不同的方式,只是为了看看它是否会更新,再次,
textFormat
更新,但不numberFormat
spreadsheet = client.open_by_key(spreadsheet_id)
requests = [
{
'repeatCell': {
'range': {
'sheetId': worksheet.id,
'startRowIndex': 1,
'endRowIndex': 3,
'startColumnIndex': 1,
'endColumnIndex': 3
},
'cell': {
'userEnteredFormat': {
'numberFormat': {
'type': 'PERCENT',
'pattern': '0.00%'
},
'textFormat': {
'bold': True
},
},
},
'fields': 'userEnteredFormat.numberFormat,userEnteredFormat.textFormat'
}
}
]
body = {
'requests': requests
}
spreadsheet.batch_update(body)
我超级难受
代码对我来说看起来是正确的,除了你必须将范围和格式作为元组列表传递
format_cell_ranges(worksheet, [("A1", fmt)])