6 教程2:在 XLSX 文件中添加格式

优质
小牛编辑
126浏览
2023-12-01

在上一节中,我们使用Python和XlsxWriter模块创建了一个简单的电子表格。

它将所需的数据转换为了Excel文件,但是看起来有一点简陋。为了让信息看起来更加清晰,我们想要添加一些简单的格式,如下图所示:

图中表格与上一节所创建的电子表格的区别在于,其对ItemCost列标题进行了加粗,对第二列的数据设置了货币格式,将Total字符串进行了加粗。

基于此,我们可以像下面这样扩展之前的程序:

import xlsxwriter

 # 创建一个工作簿并添加一个工作表
 workbook = xlsxwriter.Workbook('Expenses02.xlsx')
 worksheet = workbook.add_worksheet()

 # 添加一个加粗格式
 bold = workbook.add_format({'bold': True})

 # 添加一个数字货币格式
 money = workbook.add_format({'num_format': '$#,##0'})

 # 写入标题数据
 worksheet.write('A1', 'Item', bold)
 worksheet.write('B1', 'Cost', bold)

 # 需要写入的数据
 expenses = (
     ['Rent', 1000],
     ['Gas',   100],
     ['Food',  300],
     ['Gym',    50],
 )

 # 从标题下面的第一个单元格开始。
 row = 1
 col = 0

 # 遍历数据并写入数据
 for item, cost in (expenses):
     worksheet.write(row, col,     item)
     worksheet.write(row, col + 1, cost, money)
     row += 1

 # 用公式写入总和
 worksheet.write(row, 0, 'Total',       bold)
 worksheet.write(row, 1, '=SUM(B2:B5)', money)

 workbook.close()

这个程序与上一个程序的主要区别在于,我们添加了两个Format对象,它们可以格式化电子表格中的单元格。

foramat对象表示可以应用于Excel电子表格中单元格的所有格式设置属性,例如字体、数字格式、颜色和边框。这在格式类部分中有更详细的说明。

现在,我们不讨论具体的细节,仅适用少量的格式化功能来添加一些简单的格式化:

# 添加一个加粗格式
 bold = workbook.add_format({'bold': True})

 # 添加一个数字货币格式
 money = workbook.add_format({'num_format': '$#,##0'})

然后,我们可以将这些格式作为作为可选的第三个参数传递给工作表。write()格式化单元格中的数据的方法如下所示:

write(row, column, token, [format])

就像这样:

worksheet.write(row, 0, 'Total', bold)

这使得我们了解了这个程序的另一个功能。要在工作表中的第一行中添加标题,我们可以这样使用write()方法:

worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)

在下一节中,我们将研究处理更多的数据类型。