使用 gspread 向单元格添加值会破坏 google 工作表中的条件格式
Adding a value to a cell breaks conditional formatting in google sheets using gspread
我有一个 google 工作表,如下所示:
col1 col2 col3 col4
ABC 10 ABC 145.1
ABC 15.5 ABC 574.5
ABC 26.7 ABC 45.4
如果单元格的值小于给定值并且有效,我将单元格标记为红色:
rule = ConditionalFormatRule(
ranges=[GridRange.from_a1_range('B:D', worksheet)],
booleanRule=BooleanRule(
condition=BooleanCondition('NUMBER_LESS', ['100']),
format=CellFormat(backgroundColor=Color(0.992, 0.529, 0.529))
)
)
rules = get_conditional_format_rules(worksheet)
rules.append(rule)
rules.save()
我将 %
符号添加到 col2 & col4
,如下所示:
cell_list = [worksheet.range('B2:B4'), worksheet.range('D2:D4')]
sign_to_add = '%'
for item in cell_list:
for val in item:
val.value = val.value + sign_to_add
for item in cell_list:
worksheet.update_cells(item)
col1 col2 col3 col4
ABC 10% ABC 145.1%
ABC 15.5% ABC 574.5%
ABC 26.7% ABC 45.4%
但这破坏了我在上面完成的条件格式。如果我切换代码位置,格式将不起作用,因为在 google 工作表中单击它后单元格看起来像这样:
'10%
注意前面的'
有没有办法在能够向单元格添加 %
符号的同时实现条件格式设置?
在你的脚本中,如何将value_input_option='USER_ENTERED'
添加到update_cells
的方法中,如下所示? value_input_option
的默认值好像是RAW
。这样,就添加了'
。
发件人:
worksheet.update_cells(item)
收件人:
worksheet.update_cells(item, value_input_option='USER_ENTERED')
注:
- 在这种情况下,当您的脚本为 运行 时,
145.1
变为 145.1%
。至此,这个值小于100
。请注意这一点。
参考:
我有一个 google 工作表,如下所示:
col1 col2 col3 col4
ABC 10 ABC 145.1
ABC 15.5 ABC 574.5
ABC 26.7 ABC 45.4
如果单元格的值小于给定值并且有效,我将单元格标记为红色:
rule = ConditionalFormatRule(
ranges=[GridRange.from_a1_range('B:D', worksheet)],
booleanRule=BooleanRule(
condition=BooleanCondition('NUMBER_LESS', ['100']),
format=CellFormat(backgroundColor=Color(0.992, 0.529, 0.529))
)
)
rules = get_conditional_format_rules(worksheet)
rules.append(rule)
rules.save()
我将 %
符号添加到 col2 & col4
,如下所示:
cell_list = [worksheet.range('B2:B4'), worksheet.range('D2:D4')]
sign_to_add = '%'
for item in cell_list:
for val in item:
val.value = val.value + sign_to_add
for item in cell_list:
worksheet.update_cells(item)
col1 col2 col3 col4
ABC 10% ABC 145.1%
ABC 15.5% ABC 574.5%
ABC 26.7% ABC 45.4%
但这破坏了我在上面完成的条件格式。如果我切换代码位置,格式将不起作用,因为在 google 工作表中单击它后单元格看起来像这样:
'10%
注意前面的'
有没有办法在能够向单元格添加 %
符号的同时实现条件格式设置?
在你的脚本中,如何将value_input_option='USER_ENTERED'
添加到update_cells
的方法中,如下所示? value_input_option
的默认值好像是RAW
。这样,就添加了'
。
发件人:
worksheet.update_cells(item)
收件人:
worksheet.update_cells(item, value_input_option='USER_ENTERED')
注:
- 在这种情况下,当您的脚本为 运行 时,
145.1
变为145.1%
。至此,这个值小于100
。请注意这一点。