有没有办法在不设置值的情况下在 xlsxwriter 中应用单元格格式?
Is there a way to apply cell format in xlswriter without setting a value?
有没有办法在不设置值的情况下应用 xlswriter
中的单元格格式?并且在worksheet.write
使用A1表示法方面,可以做到一个范围吗?
喜欢:
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)
使用 worksheet.write()
您无法指定范围。您可以将它放在一个循环中并使用 xlsxwriter.utility.xl_rowcol_to_cell()
来实现您想要的。 Here 是 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()
有没有办法在不设置值的情况下应用 xlswriter
中的单元格格式?并且在worksheet.write
使用A1表示法方面,可以做到一个范围吗?
喜欢:
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)
使用 worksheet.write()
您无法指定范围。您可以将它放在一个循环中并使用 xlsxwriter.utility.xl_rowcol_to_cell()
来实现您想要的。 Here 是 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()