xlwt模塊,操作寫入數據excel表。


一.安裝xlwt模塊

1.pip3 install xlwt

二.簡單使用xlwt

1.import  xlwt  #導入模塊
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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM