XlsxWriter设置全局字体大小

12

如何在第一次创建工作簿时使用xlswriter永久设置字体大小?

我尝试过:

book = xlsxwriter.Workbook(os.getcwd() + '\\test.xlsx')
sheet1 = book.add_worksheet()
format = book.add_format()
format.set_font_size(10)

但是输出结果仍然是默认的字体大小11,问题出在哪里?

1个回答

19

1、对于单个单元格字体大小,您需要像这样将format传递给write

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

# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Add a font size 10 format.
format = workbook.add_format()
format.set_font_size(10)
# Write some simple text.
worksheet.write('A1', 'Hello', format)

# Text with formatting.
worksheet.write('A2', 'World', bold)

# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)


workbook.close()

Hello将被设置为字体大小10

enter image description here

更新: 2、对于所有单元格的字体大小,您可以设置工作簿的默认格式:

import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')

# default cell format to size 10 
workbook.formats[0].set_font_size(10)

worksheet = workbook.add_worksheet()


# Write some simple text.
worksheet.write('A1', 'Hello')

worksheet.write('A2', 'World')

# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)

workbook.close()

所有单元格都会更改为字体大小10:

enter image description here


有没有办法全局设置这个?我经常写入这个工作表/工作簿,而且我想避免每次都传递它,因为我希望它全部大小为10。 - guy
5
绕开这个问题是可行的,但需要注意的是,这样做会破坏插入工作表中的图像、图表和其他对象的大小。这就是为什么 XlsxWriter 目前不支持这个功能的主要原因。 - jmcnamara
谢谢,但实际上这仍然不起作用。当使用不同的字体颜色编写时,是否可能会重置此大小? - guy
是的,如果您添加其他格式,如“set_font_color”和“set_bold”,它将覆盖字体大小为11。 - Tiny.D
那么,使用您的方法可以在最后设置它吗?比如当我完成所有编写工作后,只需将字体大小更改为10。 - guy
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接