xlsxwriter worksheet.write_blank适用于范围

问题描述 投票:0回答:1

我正在尝试使用xlsxwriter将格式写入一系列单元格。

worksheet.write_blank('A4:B4',None,cell_formatwhite)

这个write_blank方法似乎只适用于单个单元格引用,因为它的格式为'A4',而不是'B4'。有没有办法可以将这种格式应用于一系列单元格而无需向单元格写入值?我想更改设置excel范围内所有单元格的颜色。

python excel format xlsxwriter
1个回答
1
投票

试试这个功能:

import string

# function to write blank format to range of cells
def range_write_blank(worksheet, col_start, col_end, row_start, row_end, cel_format):
    '''
    Writes blank to range of cells cel_format
    Takes:
    worksheet as Worksheet object
    col_start as uppercase letter string
    col_end as uppercase letter string
    row_start as int
    row_end as int
    cel_format as XlsXWriter Format object
    '''
    letters = list(string.ascii_uppercase)
    for r in range(row_start, row_end):
        for c in range(letters.index(col_start), letters.index(col_end)+1):
            worksheet.write_blank(r, c, '', cel_format)

# usage example
some_format = workbook.add_format({
    'bold': 1,
    'border': 1,
    'align': 'center',
    'valign': 'vcenter',
    'fg_color': 'blue'})

range_write_blank(worksheet, "A", "C", 0, 10, some_format)
© www.soinside.com 2019 - 2024. All rights reserved.