程序员开发实例大全宝库

网站首页 > 编程文章 正文

python处理excel文件04:xlwt模块带样式写入excel文件

zazugpt 2024-11-05 13:18:21 编程文章 17 ℃ 0 评论

使用xlwt模块写入excel文件时,还可以自定义单元格样式:

一、创建单元格样式对象

style = xlwt.XFStyle()

可以设置6个样式类:

Font, Borders,Aligment,Pattern,Protection,Num_format_str

六种样式各自功能如下:

  • Font字体:设置字体、字体颜色、字体大小、加粗、斜体、阴影、下划线、删除线等
  • Alignment对齐方式: 设置字体水平和垂直对齐方式、 旋转、文本换行、文本方向等
  • Borders边框:设置设置表格边框粗细、颜色
  • Patterns填充背景:设置单元格背景颜色、底纹颜色(fore/ back color)
  • Num_format_str数据类型:设置单元格数据类型
  • Protection 单元格保护:设置是否锁定单元格

二、设置样式,并以设置的样式将数据写入单元格

1、设置字体样式Font

font = xlwt.Font()

font.bold = True # 字体加粗

font.name = '宋体' # 选择字体

font.underline = True # 字体下划线

font.italic = True # 斜体

font.height = 200 # 字体大小

font.colour_index = 0x0C # 字体颜色

style.font = font

◆ 向工作表中添加数据(行, 列, 值,样式),并以设置的样式写入数据

sheet1.write(0,0,'序号',style)

sheet1.write(0,1,'姓名',style)

sheet1.write(0,2,'身份证号',style)

sheet1.write(0,3,'基本工资',style)

◆ 保存数据到硬盘

workbook.save('tongjibiao.xls')

附:字体颜色索引

aqua 0x31

black 0x08

blue 0x0C

blue_gray 0x36

bright_green 0x0B

brown 0x3C

coral 0x1D

cyan_ega 0x0F

dark_blue 0x12

dark_blue_ega 0x12

dark_green 0x3A

dark_green_ega 0x11

dark_purple 0x1C

dark_red 0x10

dark_red_ega 0x10

dark_teal 0x38

dark_yellow 0x13

gold 0x33

gray_ega 0x17

gray25 0x16

gray40 0x37

gray50 0x17

gray80 0x3F

green 0x11

ice_blue 0x1F

indigo 0x3E

ivory 0x1A

lavender 0x2E

light_blue 0x30

light_green 0x2A

light_orange 0x34

light_turquoise 0x29

light_yellow 0x2B

lime 0x32

magenta_ega 0x0E

ocean_blue 0x1E

olive_ega 0x13

olive_green 0x3B

orange 0x35

pale_blue 0x2C

periwinkle 0x18

pink 0x0E

plum 0x3D

purple_ega 0x14

red 0x0A

rose 0x2D

sea_green 0x39

silver_ega 0x16

sky_blue 0x28

tan 0x2F

teal 0x15

teal_ega 0x15

turquoise 0x0F

violet 0x14

white 0x09

yellow 0x0D

2、设置对齐方式Aligment

aligment = xlwt.Aligment()

alignment.horz = 0x02 # 字体水平居中

alignment.vert = 0x01 # 字体水平居中

style.aligment = aligment


附:水平对齐方式索引

HORZ_GENERAL = 0x00

HORZ_LEFT = 0x01

HORZ_CENTER = 0x02

HORZ_RIGHT = 0x03

HORZ_FILLED = 0x04

HORZ_JUSTIFIED = 0x05

HORZ_CENTER_ACROSS_SEL = 0x06

HORZ_DISTRIBUTED = 0x07

垂直对齐方式索引

VERT_TOP = 0x00

VERT_CENTER = 0x01

VERT_BOTTOM = 0x02

VERT_JUSTIFIED = 0x03

VERT_DISTRIBUTED = 0x04

3、设置边框Borders

borders = xlwt.Borders()

◆设置边框粗细

borders.left = 1

borders.right = 1

borders.top = 1

borders.bottom = 1

◆设置边框颜色

borders.left_colour = 0x0A

borders.right_colour = 0x0A

borders.top_colour = 0x0A

borders.bottom_colour = 0x0A

style. borders = borders

附:边框线型索引

NO_LINE = 0x00

THIN = 0x01

MEDIUM = 0x02

DASHED = 0x03

DOTTED = 0x04

THICK = 0x05

DOUBLE = 0x06

HAIR = 0x07

边框颜色参看字体颜色索引。

4、设置背景色Pattern

pattern = xlwt.Pattern()

pattern.pattern = xlwt.Pattern.SOLID_PATTERN

有两种模式: NO_PATTERN 和 SOLID_PATTERN

pattern.pattern_fore_colour = 0x0D

pattern.pattern_back_colour = 0x0D

style.pattern = pattern


背景色参看字体颜色索引。

5、设置单元格数据类型Num_format_str

style.num_format_str = " general "

常用单元格数据类型:

'general', # 默认是此选项,常规显示。

'0',

'0.00',

'#,##0',

'#,##0.00',

'"#34;#,##0_);("#34;#,##0)',

'"#34;#,##0_);[Red]("#34;#,##0)',

'"#34;#,##0.00_);("#34;#,##0.00)',

'"#34;#,##0.00_);[Red]("#34;#,##0.00)',

'0%',

'0.00%',

'0.00E+00',

'# ?/?',

'# ??/??',

'M/D/YY', # 这是我们刚刚用的

'D-MMM-YY',

'D-MMM',

'MMM-YY',

'h:mm AM/PM',

'h:mm:ss AM/PM',

'h:mm',

'h:mm:ss',

'M/D/YY h:mm',

'_(#,##0_);(#,##0)',

'_(#,##0_);[Red](#,##0)',

'_(#,##0.00_);(#,##0.00)',

'_(#,##0.00_);[Red](#,##0.00)',

'_("#34;* #,##0_);_("#34;* (#,##0);_("#34;* "-"_);_(@_)',

'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',

'_("#34;* #,##0.00_);_("#34;* (#,##0.00);_("#34;* -"??_);_(@_)',

'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',

'mm:ss',

'[h]:mm:ss',

'mm:ss.0',

'##0.0E+0',

'@'

6、设置单元格保护Protection

注:只有在sheet表设置为保护时才有效

设置sheet表保护及密码

sheet1.protect = True

sheet1.password = '123456'

设置单元格锁定

protection = xlwt.Protection()

protection.cell_locked = 1

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表