7

我正在使用 gd_client.UpdateCell 更新谷歌电子表格中的值,并且正在寻找一种方法来更新单元格的格式,即颜色、线条、文本大小.....

这可以做到吗?

是否有可用的示例或其他文档?

任何能让我前进的东西都会很棒

4

4 回答 4

11

(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

于 2017-03-07T02:33:49.787 回答
6

我认为目前无法做到这一点。当前的 API(List 和 Cell API)允许更改数据,但不允许格式化。

此处描述了整个 API。与格式化无关:

许多人在群组中提出此要求,但从未得到 Google 的答复:

于 2010-05-09T17:40:43.793 回答
0

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 脚本挂钩的最后一个缺失部分有一些想法。

于 2015-01-12T17:39:47.653 回答
0

这对我有很大帮助:https ://cloud.google.com/blog/products/application-development/formatting-cells-with-the-google-sheets-api

于 2019-08-09T14:36:22.767 回答