Python XlsxWriter - 字型和顏色



使用字型

要執行工作表單元格的格式化,我們需要使用 Format 物件,藉助 add_format() 方法並使用其屬性或格式化方法對其進行配置。

f1 = workbook.add_format()
f1 = set_bold(True)
# or
f2 = wb.add_format({'bold':True})

然後,此格式物件用作工作表 write() 方法的引數。

ws.write('B1', 'Hello World', f1)

示例

要使單元格中的文字粗體、下劃線、斜體刪除線,我們可以使用這些屬性或相應的 method。在以下示例中,文字 Hello World 使用 set 方法編寫。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

for row in range(4):
   ws.write(row,0, "Hello World")

f1=wb.add_format()
f2=wb.add_format()
f3=wb.add_format()
f4=wb.add_format()

f1.set_bold(True)
ws.write('B1', '=A1', f1)

f2.set_italic(True)
ws.write('B2', '=A2', f2)

f3.set_underline(True)
ws.write('B3', '=A3', f3)

f4.set_font_strikeout(True)
ws.write('B4', '=A4', f4)

wb.close()

輸出

結果如下:

Working with Fonts1

示例

另一方面,我們可以使用font_color、font_namefont_size屬性來格式化文字,如下例所示:

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

for row in range(4):
   ws.write(row,0, "Hello World")
   
f1=wb.add_format({'bold':True, 'font_color':'red'})
f2=wb.add_format({'italic':True,'font_name':'Arial'})
f3=wb.add_format({'font_size':20})
f4=wb.add_format({'font_color':'blue','font_size':14,'font_name':'Times New Roman'})

ws.write('B1', '=A1', f1)
ws.write('B2', '=A2', f2)
ws.write('B3', '=A3', f3)
ws.write('B4', '=A4', f4)

wb.close()

輸出

可以透過使用 Excel 開啟工作表來驗證上述程式碼的輸出:

Working with Fonts2

文字對齊

XlsxWriter 的 Format 物件也可以使用對齊方法/屬性建立。align 屬性可以具有左、右、居中兩端對齊值。

示例

import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
for row in range(4):
   ws.write(row,0, "Hello World")
ws.set_column('B:B', 30)

f1=wb.add_format({'align':'left'})
f2=wb.add_format({'align':'right'})
f3=wb.add_format({'align':'center'})
f4=wb.add_format({'align':'justify'})
ws.write('B1', '=A1', f1)
ws.write('B2', '=A2', f2)
ws.write('B3', '=A3', f3)
ws.write('B4', 'Hello World', f4)

wb.close()

輸出

以下輸出顯示了文字“Hello World”的不同對齊方式。請注意,B 列的寬度由工作表物件的set_column()方法設定為 30。

Text Alignment1

示例

Format 物件還具有valign屬性來控制單元格的垂直位置。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

for row in range(4):
   ws.write(row,0, "Hello World")
   
ws.set_column('B:B', 30)

for row in range(4):
   ws.set_row(row, 40)
f1=wb.add_format({'valign':'top'})
f2=wb.add_format({'valign':'bottom'})
f3=wb.add_format({'align':'vcenter'})
f4=wb.add_format({'align':'vjustify'})

ws.write('B1', '=A1', f1)
ws.write('B2', '=A2', f2)
ws.write('B3', '=A3', f3)
ws.write('B4', '=A4', f4)

wb.close()

輸出

在上面的程式碼中,第 1 行到第 4 行的高度使用 set_row() 方法設定為 40。

Text Alignment2

單元格背景和前景色

Format 物件的兩個重要屬性是bg_colorfg_color,用於設定單元格的背景色和前景色。

示例

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
ws.set_column('B:B', 30)

f1=wb.add_format({'bg_color':'red', 'font_size':20})
f2=wb.add_format({'bg_color':'#0000FF', 'font_size':20})

ws.write('B1', 'Hello World', f1)
ws.write('B2', 'HELLO WORLD', f2)
wb.close()

輸出

上述程式碼的結果如下所示:

Cell Background and Foreground Colors
廣告

© . All rights reserved.