xlwt模組,操作寫入資料excel表。
阿新 • • 發佈:2020-11-15
一.安裝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()