我正在使用 gd_client.UpdateCell 更新谷歌电子表格中的值,并且正在寻找一种方法来更新单元格的格式,即颜色、线条、文本大小.....
这可以做到吗?
是否有可用的示例或其他文档?
任何能让我前进的东西都会很棒
我正在使用 gd_client.UpdateCell 更新谷歌电子表格中的值,并且正在寻找一种方法来更新单元格的格式,即颜色、线条、文本大小.....
这可以做到吗?
是否有可用的示例或其他文档?
任何能让我前进的东西都会很棒
(2017 年 2 月) 从 Google I/O 2016 开始,开发人员现在可以使用最新的 API (v4) 格式化 Google 表格中的单元格。这是一个简短的 Python 示例,将第一行加粗(假设文件 ID 是SHEET_ID
并且SHEETS
是 API 服务端点):
DATA = {'requests': [
{'repeatCell': {
'range': {'endRowIndex': 1},
'cell': {'userEnteredFormat': {'textFormat': {'bold': True}}},
'fields': 'userEnteredFormat.textFormat.bold',
}}
]}
SHEETS.spreadsheets().batchUpdate(
spreadsheetId=SHEET_ID, body=DATA).execute()
如果有帮助,我还制作了一个关于这个主题的开发者视频(见下文)。顺便说一句,您不仅限于 Python,您可以使用Google APIs Client Libraries支持的任何语言。
最新的Sheets API提供了旧版本中没有的功能,即让开发人员可以像使用用户界面一样以编程方式访问工作表(冻结行、单元格格式 [!]、调整行/列大小、添加数据透视表、创建图表、 ETC。)。如果您是 API 新手,我制作了一些视频,其中包含更多“真实世界”示例:
如您所知,Sheets API 主要用于上述面向文档的功能,但要执行文件级访问,例如导入/导出、复制、移动、重命名等,请改用Google Drive API。
我认为目前无法做到这一点。当前的 API(List 和 Cell API)允许更改数据,但不允许格式化。
此处描述了整个 API。与格式化无关:
许多人在群组中提出此要求,但从未得到 Google 的答复:
Google Apps 脚本看起来可能会带来一些这样的功能,特别是在 Range 类中:
https://developers.google.com/apps-script/reference/spreadsheet/range
重要的是,我还没有弄清楚如何将 Google Apps 脚本绑定(和/或执行)到我当前使用 Google Drive API 和 Google Sheets API 创建和填充的工作表。
我不建议将您的应用程序移植到 Google Apps 脚本,但我现在正在认真考虑它。我希望也许其他人对将 API 与 Google Apps 脚本挂钩的最后一个缺失部分有一些想法。