2017-05-16 247 views
2

首次创建工作簿时如何使用xlswriter永久设置字体大小?XlsxWriter设置全局字体大小

我想:

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

但我仍然得到默认的大小11的输出。什么是问题?

回答

2

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

+0

有没有什么方法可以在全局范围内设置?我写了很多次这个工作表/书,我想避免每次都通过它,因为我希望它都大小10 – guy

+0

是的,请检查更新的答案 –

+2

解决方法是好的,但请注意,它打破了图像,图形和插入到工作表中的其他对象。这是XlsxWriter当前不支持此功能的主要原因。 – jmcnamara