Python 操做Excel表格(1) —— 用xlsxwriter建立並填寫Excel表格

最近在工做中須要用到Python來把一些內容寫入到Excel表格來生成測試報告,查閱了一些資料,今天整理以下,以便於之後查閱。
這一篇博客主要整理「寫入」到Excel表格的模塊xlsxwriter。這個模塊能夠直接使用pip安裝。
若是是Python2:python

pip install xlsxwriter

若是是Python3:web

pip3 install xlsxwriter

1. xlsxwriter模塊介紹

實際上python中,除了xlsxwriter 模塊以外,xlwt 模塊也能夠「寫」操做Excel表格。兩個模塊的用法基本上是一致的,可是xlwt 模塊只能支持xls格式的表格,而2007版之後的Excel表格所有都是xlsx格式。因此我這裏仍是推薦使用xlsxwriter 模塊。bash

xlsxwriter 模塊能夠向Excel表格中寫入文本、數字和公式。同時也支持格式化、圖像、圖表、頁面設置、自動篩選、條件格式化等許多功能。svg

xlsxwriter 模塊的功能很是強大,可是它也有一個巨大的缺點:不支持「讀」Excel表格,也不能修改已經存在的Excel表格。也就是說,假如你已經用該模塊生成了一個Excel表格,後面又發現這個表格中有一個數據填錯了,那麼對不起,不能用xlsxwriter 模塊去修改這個表格,只能去從新生成這個表格。函數

2 建立並填寫一個表格

xlsxwriter 模塊建立一個Excel表格並在表格中填入數據。測試

import xlsxwriter

# 建立Excel表格helloExcel.xlsx,並添加一個sheet名叫helloSheet
# workbook指向helloExcel.xlsx,worksheet指向helloSheet
workbook = xlsxwriter.Workbook('helloExcel.xlsx')
worksheet = workbook.add_worksheet('helloSheet')

# 須要寫入的數據
expenses = (
    ['Rent', 1000],
    ['Gas', 100],
    ['Food', 300],
    ['Gym', 50],
)

row = 0
col = 0

# 按照行和列寫入數據
for item, cost in (expenses):
    worksheet.write(row, col, item)
    worksheet.write(row, col + 1, cost)
    row += 1

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

# 調用Excel自身的公式SUM
worksheet.write(row, 1, '=SUM(B1:B4)')

# 關閉並保存表格內容
workbook.close()

這裏寫圖片描述

2.1 建立Excel表格文件

workbook = xlsxwriter.Workbook('helloExcel.xlsx')

這一句建立了一個名字叫作helloExcel.xlsx Excel表格文件。須要注意的是,Workbook() 函數必需要有參數,參數即爲Excel表格的名字。ui

2.2 建立sheet工做表

worksheet = workbook.add_worksheet('helloSheet')

這一句在workbook 表格對象中建立了一個名字叫作helloSheet 的工做表。須要注意的是,add_worksheet() 函數能夠有參數,也能夠不要參數,當有參數的時候,參數就是sheet的名字,沒有參數時sheet的按照序號排列spa

worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('helloSheet')
worksheet = workbook.add_worksheet()

如上面的代碼,則爲
這裏寫圖片描述excel

2.3 在sheet工做表填寫內容

worksheet.write(row, col, some_data)

write() 函數將some_data寫入到worksheet 指向的工做表的第row行,第col列。
在Excel表格中行row和列col都是從0開始,也就是說A1 單元格的座標爲(0,0)
還能夠這樣寫:code

worksheet.write('A1', some_data)

2.4 調用Excel自身的公式

worksheet.write(row, col, '=SUM(B1:B4)')

從這一句能夠看出,若是咱們將須要寫入到表格的內容some_data,寫成Excel自己的公式調用也是能夠的。

2.5 關閉表格並保存內容

workbook.close()

這一句很是關鍵,若是沒有這一句,那麼建立的Excel表格將不會被保存。