使用公式更新单元格值会导致带有 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")
结果如下
现在,我正在使用 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")
结果如下