python wlwt寫入excel操作
安裝命令:pip3 install xlwt
方法數據介紹

Workbook(class) 由xlwt.Workbook()返回 encoding: 編碼方案 add_sheet(sheet_name): 添加sheet get_sheet(Sheet_name): 選擇sheet save(file_name): 保存 Worksheet(class) 由Workbook object相關方法返回 write(rows,colx,cell_value,style): 編輯單元格 row(rowx).write(colx,cell_value,style): 編輯行 flush_row_data(): 減少內存壓力,flush之前行不可再修改 col(colx),write(rows,cell_value,style): 編輯列 easyxf(function) 創建XFStyle instance,格式控制 expression syntax: (<element>:(<attribute> <value>,)+;)+ <element> - <attribute> - <value>: (加粗為默認格式,以下所列並非全部) font - bold - True or False - colour - {colour} - italic - True or False - name - name of the font, Arial - underline - True or False alignment - direction - general, lr, rl - horizontal - general, left, center, right, filled - vertical - bottom, top, center, justified, distributed - shrink_to_fit - True or False bolders - left - an integer width between 0 and 13 - right - an integer width between 0 and 13 - top - an integer width between 0 and 13 - bottom - an integer width between 0 and 13 - diag - an integer width between 0 and 13 - left_colour - {colour}*, automatic colour - right_colour - {colour}*, automatic colour - ... pattern - back_color - {colour}*, automatic colour - fore_colour - {colour}*, automatic colour - pattern - none, solid, fine_dots, sparse_dots {colous}*: black, (dark_)(light_)blue, gold, (dark_)(light_)green, ivory, lavender, (light_)orange, pink, (dark_)red, rose, violet, white, (dark_)(light_)yellow, ...
常用設置:
# 創建一個workbook 設置編碼 workbook = xlwt.Workbook(encoding = 'utf-8') # 創建一個worksheet worksheet = workbook.add_sheet('這里輸入表單名稱') # 寫入excel # 參數對應 行, 列, 值 worksheet.write(1,0, label = 'this is test') # 保存 workbook.save('Excel_test.xls')
import xlwt workbook = xlwt.Workbook(encoding = 'ascii') worksheet = workbook.add_sheet('My Worksheet') style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 為樣式創建字體 font.name = 'Times New Roman' font.bold = True # 黑體 font.underline = True # 下划線 font.italic = True # 斜體字 style.font = font # 設定樣式 worksheet.write(0, 0, 'Unformatted value') # 不帶樣式的寫入 worksheet.write(1, 0, 'Formatted value', style) # 帶樣式的寫入 workbook.save('formatting.xls') # 保存文件
設置寬高:
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') worksheet.write(0, 0,'My Cell Contents') # 設置單元格寬度 worksheet.col(0).width = 3333 #列 寬度 workbook.save('cell_width.xls')
輸入一個日期到單元格:
import xlwt import datetime workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') style = xlwt.XFStyle() style.num_format_str = 'M/D/YY' # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0 worksheet.write(0, 0, datetime.datetime.now(), style) workbook.save('Excel_Workbook.xls')
向單元格添加一個公式:
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') worksheet.write(0, 0, 5) # Outputs 5 worksheet.write(0, 1, 2) # Outputs 2 worksheet.write(1, 0, xlwt.Formula('A1*B1')) # Should output "10" (A1[5] * A2[2]) worksheet.write(1, 1, xlwt.Formula('SUM(A1,B1)')) # Should output "7" (A1[5] + A2[2]) workbook.save('Excel_Workbook.xls')
向單元格添加一個超鏈接:
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') worksheet.write(0, 0, xlwt.Formula('HYPERLINK("http://www.google.com";"Google")')) # Outputs the text "Google" linking to http://www.google.com workbook.save('Excel_Workbook.xls')
合並列和行:
write_merge(列開始, 列結束, 行開始, 行結束, '數據內容')
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') worksheet.write_merge(0, 0, 0, 3, 'First Merge') # Merges row 0's columns 0 through 3. font = xlwt.Font() # Create Font font.bold = True # Set font to Bold style = xlwt.XFStyle() # Create Style style.font = font # Add Bold Font to Style worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style) # Merges row 1 through 2's columns 0 through 3. workbook.save('Excel_Workbook.xls')
設置單元格內容的對其方式:
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') alignment = xlwt.Alignment() # Create Alignment 創建對齊 alignment.horz = xlwt.Alignment.HORZ_CENTER # May be: 標准化:HORZ_GENERAL, 左對齊:HORZ_LEFT, 水平對齊居中:HORZ_CENTER, 右對齊:HORZ_RIGHT, 填充:HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED alignment.vert = xlwt.Alignment.VERT_CENTER # May be: 頂部對齊:VERT_TOP, 垂直居中:VERT_CENTER, 底部對齊:VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED style = xlwt.XFStyle() # Create Style 創建樣式 style.alignment = alignment # Add Alignment to Style 為樣式添加對齊 worksheet.write(0, 0, 'Cell Contents', style) workbook.save('Excel_Workbook.xls')
為單元格議添加邊框:
# Please note: While I was able to find these constants within the source code, on my system (using LibreOffice,) I was only presented with a solid line, varying from thin to thick; no dotted or dashed lines. # 請注意:雖然我能夠在源代碼中找到這些常量,但是在我的系統上(使用LibreOffice),我只看到了一條實線,從細到粗不等;沒有虛線或虛線。 import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') borders = xlwt.Borders() # Create Borders borders.left = xlwt.Borders.DASHED # DASHED虛線 # NO_LINE沒有 # THIN實線 # May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D. borders.right = xlwt.Borders.DASHED borders.top = xlwt.Borders.DASHED borders.bottom = xlwt.Borders.DASHED borders.left_colour = 0x40 borders.right_colour = 0x40 borders.top_colour = 0x40 borders.bottom_colour = 0x40 style = xlwt.XFStyle() # Create Style style.borders = borders # Add Borders to Style worksheet.write(0, 0, 'Cell Contents', style) workbook.save('Excel_Workbook.xls')
為單元格設置背景色:
import xlwt workbook = xlwt.Workbook() worksheet = workbook.add_sheet('My Sheet') pattern = xlwt.Pattern() # Create the Pattern pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12 pattern.pattern_fore_colour = 5 # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on... style = xlwt.XFStyle() # Create the Pattern style.pattern = pattern # Add Pattern to Style worksheet.write(0, 0, 'Cell Contents', style) workbook.save('Excel_Workbook.xls')
#