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
@email:wang_di@topsec.com.cn
"""
#導入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)
效果展示

