功能性的文章直接用幾個最簡單的實現表達:
xlsxwriter庫的核心就是其Workbook對象。
創建一個指定名字的xlsx文件:
import xlsxwriter filename = '/Users/piperck/Desktop/axiba.xlsx' test_book = xlsxwriter.Workbook(filename) worksheet = test_book.add_worksheet() test_book.close()
創建一個Workbook的實例對象。可以傳入一個文件名字,如果不想生成的文件在當前路徑下面,可以在文件名字前面帶上絕對路徑。
add_worksheet()就是增加一個sheet
然后關閉這個對象,完成xlsx文件的生成。
創建一個指定名字的sheet並且為其添加一些數據:
import xlsxwriter filename = '/Users/piperck/Desktop/axiba.xlsx' test_book = xlsxwriter.Workbook(filename) worksheet = test_book.add_worksheet('what') 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, col, '=sum(B0:B4)') test_book.close()
我們可以使用得到的worksheet對象來添加其行列數據,如上所示。注意最后添加數據可以直接在第三個參數里面使用函數。
創建一個有指定樣式的Workbook:
這個方法其實。。應該有非常多的參數,大家根據實際需要可以具體去查詢更多的屬性。這個樣式要在Workbook的對象上加。
import xlsxwriter filename = '/Users/piperck/Desktop/axiba.xlsx' test_book = xlsxwriter.Workbook(filename) worksheet = test_book.add_worksheet('what') bold = test_book.add_format({'bold': True}) test_book.add_format() expenses = ( ['Rent', 1000], ['Gas', 100], ['Food', 300], ['Gym', 50], ) # 定義起始的行列 會在這個基礎上 行列各加一 作為初始行列 row = 0 col = 0 for item, cost in expenses: worksheet.write(row, col, item, bold) worksheet.write(row, col+1, cost) row += 1 test_book.close()
關於更多的參數,完全可以參看源代碼里面的property字典下面初始化的那一堆東西,應該都是。
根絕着就能解決大部分問題了,如果有更多的需求就查閱下面的文檔即可。
通用做法可能會基於此再做一些東西來包裝 xlsxwriter 來讓他更好用,這個就看大家對自己業務需要抽象的能力了。
Reference:
https://xlsxwriter.readthedocs.io xlsxwriter doc