首页 > 解决方案 > 使用 xlsxwriter 条件格式化(公式)后删除列

问题描述

我有一列(列 V),我曾经使用引擎 xlsxwriter 有条件地格式化另一列(列 U)。

所以我有这个:

# Light yellow fill with dark yellow text.
format1 = workbook.add_format({'bg_color':   '#FFEB9C'})

# Light red fill with dark red text.
format2 = workbook.add_format({'bg_color':   '#FFC7CE',
                           'font_color': '#9C0006'})


worksheet.conditional_format('U2:U1000', {'type': 'formula', 
                                 'criteria': '=V2>25',
                                 'format': format1})

worksheet.conditional_format('U2:U1000', {'type': 'formula',  
                                 'criteria': '=V2<-20',
                                 'format': format2})

所以现在在使用条件格式突出显示列 U 之后,我想删除列 V(但保持突出显示不变)。有没有办法在 xlsxwriter 中做到这一点?

标签: pythonpandasxlsxwriter

解决方案


因为它是使用公式的条件格式,所以删除引用的列将删除被引用的内容并“破坏”公式。

您可以使用以下代码隐藏 V 列。

worksheet.set_column('V:V', None, None, {'hidden': True})

如果您需要隐藏单列,则需要将其设置为 'V:V'

http://xlsxwriter.readthedocs.io/example_hide_row_col.html

如果我们在谈论数字公式,我会复制然后“粘贴值”以删除公式。据我所知,Excel 中无法复制和粘贴格式而不复制条件公式。


推荐阅读