xlswriter格式化一个范围[英] xlswriter formatting a range

本文是小编为大家收集整理的关于xlswriter格式化一个范围的处理方法,想解了xlswriter格式化一个范围的问题怎么解决?xlswriter格式化一个范围问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

在 xlswriter 中,一旦定义了格式,如何将其应用于范围而不是整列或整行?

例如:

perc_fmt = workbook.add_format({'num_format': '0.00%','align': 'center'})
worksheet.set_column('B:B', 10.00, perc_fmt)

这将它应用于整个"B"列,但是这个"perc_fmt"如何应用于一个范围,例如,如果我这样做:

range2 = "B2:C15"
worksheet2.write(range2, perc_fmt)

上面写着:

TypeError: Unsupported type <class 'xlsxwriter.format.Format'> in write()

推荐答案

其实我找到了一个避免循环的解决方法.您只需要使用条件格式(将范围作为输入)并格式化所有案例.例如:

worksheet2.conditional_format(color_range2, {'type': 'cell',
                                     'criteria': '>=',
                                     'value': 0, 'format': perc_fmt})
worksheet2.conditional_format(color_range2, {'type': 'cell',
                                     'criteria': '<',
                                     'value': 0, 'format': perc_fmt})  

本文地址:https://www.itbaoku.cn/post/1727889.html