gspread_formatting 未将 Google 文档中的单元格类型更改为百分比

问题描述 投票:0回答:1

我能够成功运行

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)

我超级难受

python google-sheets google-api-python-client gspread
1个回答
0
投票

代码对我来说看起来是正确的,除了你必须将范围和格式作为元组列表传递

format_cell_ranges(worksheet, [("A1", fmt)])

© www.soinside.com 2019 - 2024. All rights reserved.