使用公式更新单元格值会导致带有 Sheets API 的撇号前缀

Updating cell values with formulas results in apostrophe prefixes with Sheets API

现在,我正在使用 gspread 和 Google 工作表 API 更新单元格值,将 cell.value 设置为特定公式的字符串。

示例代码:

# Calculates sum of cells in current row from column B to H
G_SHEETS_ROW_SUM_COMMAND = '''=SUM(INDIRECT(CONCATENATE("B",ROW(),":H",ROW())))'''

for cell in cell_list:
    cell.value = G_SHEETS_ROW_SUM_COMMAND

然而,当我的电子表格被填充时,我的命令以撇号为前缀(大概是为了防止单元格被解释为公式,尽管这正是我希望它做的)。

这是我的电子表格中的一个示例:

有没有办法自动删除这个撇号?

我研究了值呈现选项和 input_value,尽管这些选项似乎无法用于写入工作表。

问题是我在更新单元格时没有指定值输入选项。在我的例子中,解决方案如下所示: worksheet.update_cells(cell_list, value_input_option='USER_ENTERED') 注意 value_input_option 标志,它必须设置为 'USER_ENTERED' 以便更新单元格就像它们在 [=15] 中输入一样=] 张 UI.

我遇到了类似的问题,但只想使用公式更新单个单元格。我找到了几种方法:

# 'A1' notation
worksheet.update('A1', 7)
# raw=False is what does the trick.
worksheet.update('B1', "=A1 * 3", raw=False)

# Or if you prefer (row, col) notation
worksheet.update_cell(2, 1, 7)
worksheet.update_cell(2, 2, "=A2 * 3")

结果如下