Python xlsxwriter系列教程 01 -- 快速入门教程一

xlsxwriter介绍

XlsxWriter是一个Python模块,用于以Excel 2007+ XLSX文件格式编写文件。

它可用于将文本,数字和公式写入多个工作表,它支持格式化,图像,图表,页面设置,自动过滤,条件格式等功能。

与其他模块相比

优点

  • 与其他模块相比有更多丰富的功能

  • 高保真,生成的文件可以与Excel生成文件等效

  • 官方文档有比较好的示例

  • 数度快,大文件输出使用更少的内存

官方文档:https://xlsxwriter.readthedocs.io/getting_started.html#getting-started

缺点

  • 不能对现有Excel文件进行读取和修改

xlsxwriter 安装

pip install xlsxwriter
#或者
easy_install XlsxWriter

使用xlsxwriter 创建一个excel

# -*- coding: utf-8 -*-

"""
@author:随时静听
@file: 创建.py
@time: 2018/08/24
"""

#导入xlsxwriter 用于创建xlsx

import xlsxwriter


#创建 一个Workbook 实列
book=xlsxwriter.Workbook(u'员工.xlsx')

#添加一个工作簿
sheet=book.add_worksheet()
#可以指定工作的名字也可以不指定,如果需要指定,按照下面的写法加入参数即可
#再次添加一个名字为 '员工表'工作簿
sheet2=book.add_worksheet(u'员工表')

#写入数据

# 第一个工作簿写入数据

sheet.write("A2",u"序号")#A2单元格写入 序号
#这里的字母A必须大写
sheet.write(1,1,u"姓名") # 第二行 第二列 写入 姓名
sheet.write(1,2,u"报销费用")

#使用循环写数据

expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
)

row=2
col=0

for index,item in enumerate(expenses):
    sheet.write(row,col,index+1)#写入序号值
    sheet.write(row,col+1,item[0])#写入姓名
    sheet.write(row,col+2,item[1]) # 报销费用
    row+=1

#合并单元格 写入内容
merge_range='A'+str(row+1)+':B'+str(row+1) #合并单元格的范围,一般都是"A2:B2","A2:D4"这样的格式
print "合并区域是:" ,merge_range
sheet.merge_range(merge_range,u'合计:')

#写入公式
Calculation_formula='=sum(C3:C'+str(row-1)+")"
print "插入计算公式是:", Calculation_formula
sheet.write(row,2,Calculation_formula)

book.close()#关闭

#运行结果
合并区域是: A7:B7
插入计算公式是: =sum(C2:C5)

效果展示

展示生成的Excel文件

posted @ 2018-08-27 14:59  随时静听  阅读(3697)  评论(0编辑  收藏  举报