首页 > 解决方案 > GSpread CellFormat foregroundColor

问题描述

我正在尝试将 Google Sheets 中的标题染成紫色,但是 GSpread textFormat 似乎并没有恢复正确的颜色。

我查看了 GSpread 文档,关于颜色代码应该是什么格式的信息很少,所以我只是假设 RGB 就是它应该是的样子。

还查看了使用 RGB 的 Google Sheets API。

fmt = CellFormat(textFormat=textFormat(bold=True, foregroundColor=color(112, 48, 160), fontSize=24),)
format_cell_range(worksheet, 'B1:B1', fmt)

标头的颜色应与以下 RGB 代码相同:(112, 48, 160)

而不是这个: (144, 208, 96)

标签: pythonpython-2.7colorsgoogle-sheets-apigspread

解决方案


  • 您想使用 gspread 设置 Google 电子表格单元格的前景色。
    • 您想将单元格“B1”设置112, 48, 160为 RGB 的颜色。
  • 您想使用gspread-formatting.
  • 您已经能够使用 gspread 在电子表格中输入和获取值。

如果我的理解是正确的,这个答案怎么样?

准备:

在使用此修改后的脚本之前,请gspread-formatting按如下方式安装。如果您已经安装了它,请跳过此部分。

$ pip install gspread-formatting

修改后的脚本:

请设置spreadsheetIdsheetName

import gspread_formatting as gsf  # <--- Also please add this to your script.

spreadsheetId = "###"
sheetName = "Sheet1"

client = gspread.authorize(credentials)
ss = client.open_by_key(spreadsheetId)
worksheet = ss.worksheet(sheetName)
fmt = gsf.cellFormat(
    textFormat=gsf.textFormat(
        bold=True, foregroundColor=gsf.color(112, 48, 160), fontSize=24)
)
gsf.format_cell_range(worksheet, 'B1:B1', fmt)

参考:

如果这对您的情况没有用,我深表歉意。


推荐阅读