1. 程式人生 > 實用技巧 >xlwt模組,操作寫入資料excel表。

xlwt模組,操作寫入資料excel表。

一.安裝xlwt模組

1.pip3installxlwt

二.簡單使用xlwt

1.importxlwt#匯入模組 2.workbook = xlwt.Workbook(encoding='utf-8')#建立workbook 物件 3.worksheet = workbook.add_sheet('sheet1')#建立工作表sheet 4.worksheet.write(0, 0,'hello')#往表中寫內容,第一各引數 行,第二個引數列,第三個引數內容 5.workbook.save('students.xls')#儲存表為students.xls 6.#在Java中使用poi操作excel 在建立workbook物件的時候就需要寫好表名,建立workbook物件完成後
7.#這個表就已經存在,但是使用xlwt 需要在最後呼叫儲存的時候為表命名,並且只有調入save方法後才會#建立表

三.為內容設定style

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') #設定字型樣式 3.font=xlwt.Font() #字型 4.font.name='Time New Roman' #加粗 5.font.bold=True #下劃線 6.font.underline=True #斜體 7.font.italic=True #建立style 8.style
=xlwt.XFStyle() 9.style.font=font #根據樣式建立workbook 10.worksheet.write(0,1,'world', style) 11.workbook.save('students.xls')

四.合併單元格

使用xlwt 合併單元格時不用像poi通過style來設定,直接建立和並單元格就可以,

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') #通過worksheet呼叫merge()建立合併單元格 #第一個和第二個引數單錶行合併,第三個和第四個引數列合併,
#合併第0列到第2列的單元格 3.worksheet.write_merge(0,0,0,2,'first merge') #合併第1行第2行第一列的單元格 4.worksheet.write_merge(0,1,0,0,'first merge') 5.workbook.save('students.xls') 如果需要了解具體調合並單元格規則就自己試著合併,檢視合併效果.才能清晰明瞭

五.設定單元格的對齊方式

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') 3.alignment=xlwt.Alignment() # 水平居中 4.alignment.horz=xlwt.Alignment.HORZ_CENTER # 垂直居中 5.alignment.vert=xlwt.Alignment.VERT_CENTER 6.style=xlwt.XFStyle() 7.style.alignment=alignment #設定單元格寬度 8.worksheet.col(0).width=6666 #設定單元格的高度 9.worksheet.row(0).height_mismatch=True 10.worksheet.row(0).height=1000 11.worksheet.write(0,0,'hello world', style) 12.workbook.save('center.xls')

六.設定單元格調邊框

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') 3.border=xlwt.Borders() # DASHED虛線 # NO_LINE沒有 # THIN實線 4.border.left=xlwt.Borders.THIN # 設定顏色 5.border.left_coloure=0x40b 6.border.right=xlwt.Borders.THIN 7.border.right_colour=0x40b 8.border.top=xlwt.Borders.THIN 9.border.top_colour=0x40b 10.border.bottom=xlwt.Borders.THIN 11.border.bottom_colour=0x40b 12.style=xlwt.XFStyle() 13.style.borders=border 14.worksheet.write(0,0,'love', style) 15.workbook.save('dashed.xls')

七.設定單元格邊框

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') 3.border=xlwt.Borders() # DASHED虛線 # NO_LINE沒有 # THIN實線 4.border.left=xlwt.Borders.THIN 5.border.right=xlwt.Borders.THIN 6.border.top=xlwt.Borders.THIN 7.border.bottom=xlwt.Borders.THIN 8.style=xlwt.XFStyle() 9.style.borders=border 10.worksheet.write(1,1,'love', style) 11.workbook.save('dashed.xls')

八.設定單元格背景色

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') 3.pattern=xlwt.Pattern() 4.pattern.pattern=xlwt.Pattern.SOLID_PATTERN # 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... 5.pattern.pattern_fore_colour=3 6.style=xlwt.XFStyle() 7.style.pattern=pattern 8.worksheet.write(1,1,'shit', style) 9.workbook.save('shit.xls')

九.設定字型顏色

1.workbook=xlwt.Workbook(encoding='utf-8') 2.worksheet=workbook.add_sheet('sheet1') 3.font=xlwt.Font() # 設定字型為紅色 4.font.colour_index=xlwt.Style.colour_map['red'] 5.style=xlwt.XFStyle() 6.style.font=font 7.worksheet.write(0,1,'world', style) 8.workbook.save('students.xls')

遇到的問題:

1.PermissionError: [Errno 13] Permission denied: 'dashed.xls'

原因:測試寫入調時候檔案被打開了,無法寫入,關閉檔案後再寫入就ok了

2.TypeError: 'module' object is not callable

建立style的時候調錯物件將

1.style=xlwt.Style()

改為

1.style=xlwt.XFStyle()