三個向excel表格寫入數的庫:xlwt,xlsxwriter,openpyxl,代碼如下:
1 #第一個庫,xlwt,不能寫超過256列的表格 2 import xlwt 3 4 #新建workbook 5 workbook = xlwt.Workbook() 6 #新建worksheet 7 sheetTest = workbook.add_sheet("sheetTest") 8 for i in range(0,300): 9 sheetTest.write(0, i, i) 10 #保存workbook 11 workbook.save('Test.xls') 12 #報錯:ValueError: column index (256) not an int in range(256),說明xwlt不能寫入超過256列 13 14 15 #第二個庫,xlsxwirter,不能帶格式寫入 16 import xlsxwriter as xw 17 #新建workbook,並指定保存的路徑 18 workbookxw = xw.Workbook("路徑/workbookxw.xlsx") 19 #新建工作表 20 sheetAnotherTest = workbookxw.add_worksheet("sheetAnotherTest") 21 for i in range(0, 300): 22 sheetAnotherTest.write(0, i, i) 23 workbookxw.close() 24 #保存成功,可以寫入256列 25 26 #第三個庫,openpyxl,我把它定義為追加寫入的庫,也可以利用模板追加寫入,不同的地方是,它可以打開.xlsx格式的模板 27 import openpyxl 28 #打開文件,載入已有的工作簿 29 workbook = openpyxl.load_workbook("openpyxlxlsx.xlsx") 30 #讀取工作簿里的第一個工作表 31 sheet0 = workbook['Sheet1'] 32 #向工作表寫入內容 33 sheet0["B3"] = '5' #B3代表的是單元格,也就是第二列第三行 34 sheet0["B4"] = '7' 35 sheet0["B5"] = 5 36 sheet0["B6"] = 6 37 38 #保存工作簿 39 workbook.save("Test.xlsx") 40 #寫入的完全根據模板格式來寫的
總結:
1,xlwt不能寫入超過256列,可以帶格式;
2,xlsxwriter不支持帶格式寫入,可以寫超過256列;
3,openpyxl的性能不是特別穩定,在使用過程中會出現不可預知的錯誤;
4,萬一出現了要寫入超過256列的表格,而且要帶格式,只能用openpyxl;