form1.cn
Make a little progress every day

Python xlsxwriter生成excel方法

12th of May 2020 Linux py 2030

文档地址:https://xlsxwriter.readthedocs.io/


XlsxWriter是一个Python模块,可用于将文本,数字,公式和超链接写入Excel 2007+ XLSX文件中的多个工作表。


XlsxWriter的功能那可以说是相当强大:

100%兼容的Excel XLSX文件。
完整格式。
合并的单元格。
定义的名称。
图表。
自动过滤器。
数据验证和下拉列表。
条件格式。
工作表PNG / JPEG / BMP / WMF / EMF图像。
丰富的多格式字符串。
单元格注释。
文本框。
与熊猫整合。
用于写入大文件的内存优化模式。


下面代码来自XlsxWriter的一段生成excel表格的方法,可当入门使用,如果有更多生成excel的需求,需要查看XlsxWriter文档进行学习。



'''
	Python根据数据生成excel表格
'''

import xlsxwriter

# 定义需要生成表格的数据。
expenses = (
    ['肖红', '一年级', 100],
    ['赵英男', '一年级', 100],
    ['欣怡', '一年级', 90],
    ['秋水', '一年级', 50],
    ['王小虎', '二年级', 70],
    ['陈陆陆', '二年级', 90],
    ['猴小明', '二年级', 80],
    ['杜小曼', '二年级', 100],
)

# 定义表格名称 与 保存路径
tabname = '学生成绩.xlsx'
tabpath = 'G:/excel_test'

# 创建一个工作簿并添加一个工作表。
workbook = xlsxwriter.Workbook(tabpath+'/'+tabname)
worksheet = workbook.add_worksheet('Sheet1')

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

# 编写一些头数据。
worksheet.write('A1', '学生姓名', bold)
worksheet.write('B1', '年级', bold)
worksheet.write('C1', '成绩', bold)

# 从第一个单元格开始。 行和列的索引为零。
row = 1
col = 0

# 遍历数据并逐行写出。
for item, grade, cost in (expenses):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, grade)
    worksheet.write(row, col + 2, cost)
    row += 1

# 用公式写一个总数。
worksheet.write(row, 0, '总成绩',bold)
worksheet.write(row, 2, '=SUM(C2:C5)')

# 关闭对象
workbook.close()

print("\n表格创建完成: "+tabpath+'/'+tabname)

# ......................end