前n列的XLSX Writer格式行边框

时间:2016-12-31 02:56:17

标签: python xlsxwriter

我想将底部边框添加到工作簿的前4行,但只能添加到第7列。如何限制此格式适用的列范围? 这是我到目前为止所做的:

import xlsxwriter
import numpy

format = workbook.add_format()
format.set_bottom(7)

for r in np.arange(4):
    worksheet.set_row(r,15,format)

这适用于格式化这些行的所有列,但我需要删除第7列之后的所有列,或者找到一种方法来限制应用行格式的列范围。

提前致谢!

1 个答案:

答案 0 :(得分:1)

目前,您cannot format a specified range of cells,但是,作为一种变通方法,您可以将条件格式应用于基于条件的范围 - 您只需将条件设置为始终评估为真:

format = workbook.add_format()
format.set_bottom(7)

worksheet.conditional_format('A1:G4', {'type': 'cell',
                                       'criteria': '!=',
                                       'value': 'None',
                                       'format': format})

A1:G4应涵盖“前4行,前7列”范围。

我用于测试解决方案的完整工作代码:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello.xlsx')
worksheet = workbook.add_worksheet()

for row in range(11):
    for col in range(11):
        worksheet.write(row, col, row + col)

format = workbook.add_format()
format.set_bottom(7)

worksheet.conditional_format('A1:D5',
                             {'type': 'cell',
                              'criteria': '!=',
                              'value': 'None',
                              'format': format})

workbook.close()

以下是hello.xlsx中的内容:

enter image description here