使用API​​和Python在Google表格中设置日期格式

时间:2017-08-25 09:26:10

标签: google-sheets-api

我正在尝试在列上设置日期格式,以便日期显示如下:14-Aug-2017。这就是我这样做的方式:

requests = [
    {
        'repeatCell':
        {
            'range':
            {
                'startRowIndex': 1,
                'startColumnIndex': 4,
                'endColumnIndex': 4
            },
            'cell':
            {
                "userEnteredFormat":
                {
                    "numberFormat":
                    {
                        "type": "DATE",
                        "pattern": "dd-mmm-yyyy"
                    }
                }
            },
            'fields': 'userEnteredFormat.numberFormat'
        }
    }
]
body = {"requests": requests}
response = service.spreadsheets().batchUpdate(spreadsheetId=SHEET, body=body).execute()

我希望列E中除标题单元格之外的所有单元格都要更新,因此范围定义。我使用http://wescpy.blogspot.co.uk/2016/09/formatting-cells-in-google-sheets-with.htmlhttps://developers.google.com/sheets/api/samples/formatting作为此方法的基础。

但是,单元格不使用该格式显示其内容。它们仍然是“自动”格式,显示我正在存储的数值(从1900年1月1日开始的天数)或(有时)日期。

将sheetId添加到范围定义不会改变结果。

我没有从服务中收到错误,响应只包含spreadsheetId和空回复结构[{}]。

我出错了什么?

1 个答案:

答案 0 :(得分:1)

我发现了错误 - endColumnIndex需要为5而不是4。

我没有仔细阅读第一篇链接文章!