我正在尝试在列上设置日期格式,以便日期显示如下: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.html和https://developers.google.com/sheets/api/samples/formatting作为此方法的基础。
但是,单元格不使用该格式显示其内容。它们仍然是“自动”格式,显示我正在存储的数值(从1900年1月1日开始的天数)或(有时)日期。
将sheetId添加到范围定义不会改变结果。
我没有从服务中收到错误,响应只包含spreadsheetId和空回复结构[{}]。
我出错了什么?
答案 0 :(得分:1)
我发现了错误 - endColumnIndex需要为5而不是4。
我没有仔细阅读第一篇链接文章!