有没有办法在 xlswriter 中应用单元格格式而不设置值?

lea*_*arn 3 python excel xlsxwriter

有没有办法在xlswriter不设置值的情况下应用单元格格式?就A1表示法的使用而言worksheet.write,可以做到一个范围吗?

喜欢:

format = workbook.add_format()
format.set_border(1)
format.set_bold()
worksheet.write(row=0, col=0, format=format)
worksheet.write('A1:C3', format=format)
Run Code Online (Sandbox Code Playgroud)

pat*_*ng1 5

使用时worksheet.write()不能指定范围。您可以将其放入循环中并利用xlsxwriter.utility.xl_rowcol_to_cell()它来实现您正在寻找的内容。是来自 xlsxwriter 文档的进一步解释和示例xlsxwriter.utility.xl_rowcol_to_cell()

""您还可以通过输入作为第二个参数来格式化空白单元格worksheet.write()。我在下面提供了一个完整的工作示例以及预期输出的图像。

import xlsxwriter
from xlsxwriter.utility import xl_rowcol_to_cell

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

format = workbook.add_format()
format.set_border(1)
format.set_bold()
format.set_bg_color("blue")
format.set_num_format('#,##0')

for i in range (0, 3):
    #we're looping through columns
    for j in range (0, 3):
    #we're looping through rows
        cell_reference = xl_rowcol_to_cell(i, j, row_abs=True, col_abs=True)
        worksheet.write('%s' % (cell_reference), "" ,format)

workbook.close()
Run Code Online (Sandbox Code Playgroud)

预期的 Excel 输出