Python xlwt模块设置Excel样式

python xlwt设置Excel样式

博客小白,按照老师的建议把这些知识自己梳理了一下,如果有小伙伴想看整体的代码推荐去第一个链接。
希望能和大家交流学习,能帮助到需要python来操作excel的小伙伴
以后就在这里记录一下自己的学习经历和成长

1.基础设置

import xlwt
import patterns as patterns
#定义一个workbook(文件)
workbook = xlwt.Workbook(encoding='utf-8')#编码为utf-8
#增加一个表单
sheet = workbook.add_sheet("sheet1",cell_overwrite_ok=True)#cell_overwrite_ok=True表示可以覆盖原单元格中数据,默认为False,覆盖时会抛出异常
#格式信息
style = xlwt.XFStyle()#初始化
#字体基本设置
font = xlwt.Font()
# 设置背景颜色
pattern = xlwt.Pattern()
# 设置单元格对齐方式
alignment = xlwt.Alignment()
# 设置边框
borders = xlwt.Borders()

2.字体设置

#创建一个文本格式
font = xlwt.Font()
(1) 字体类型
font.name = u'宋体'          #''内放入你要想的字体类型名称
(2) 字体颜色
font.colour_index = i      
#0:黑,1:白,2:红,3:亮绿,4:蓝,5:黄……
#更多的颜色对应查看下面的单元格背景,颜色都是一一对应的,这里就不全部列举了
(3) 字体大小
font.height = 11*20      #11为字号,20为衡量单位
(4) 加粗,斜体,下划线
#加粗
font.bold = True
#斜体
font.underline = True
#下划线
font.underline = True

3.单元格

(1) 单元格背景颜色
# 创建一个模式
pattern = xlwt.Pattern()
#设置其模式为实型
pattern.pattern = xlwt.Pattern.SOLID_PATTERN  

​ 和字体颜色设置相似:

# 背景颜色
pattern.pattern_fore_colour = i

​ 单元格的背景颜色和字体颜色中的数字和颜色的对应是通用的。

​ 下面两个图分别让字体为黑色和白色,展示对应关系:

在这里插入图片描述

​ 颜色对应序号,上图字体为白色,下图字体为黑色

在这里插入图片描述

(2) 单元格对齐方式
# 设置单元格对齐方式
alignment = xlwt.Alignment()
# 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.horz = 0x02
# 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
alignment.vert = 0x01

#可设置自动换行
alignment.wrap = 1
(3) 单元格边框设置
#设置边框
borders = xlwt.Borders()

​ 边框一共有四个边即四条线,我们可以分开一一设置:

borders.left = k
borders.right = k
borders.top = k
borders.bottom = k
#k为数字对应:
#细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,
#双线:6,细点虚线:7,大粗虚线:8,细点划线:9,
#粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13

​ 边框颜色设置:

borders.left_colour = i
borders.right_colour = i
borders.top_colour = i
borders.bottom_colour = i
#颜色对应一致
(4)单元格行高和列宽
#1.设置列宽
#直接调用基础设置已经定义的sheet
sheet.col(1).width = 15 * 256
#15表示15个字符宽度,256是衡量单位

#2.设置行高
tall_style = xlwt.easyxf('font:height 720;')  # 36pt,类型小初的字号
first_row = sheet.row(0)
first_row.set_style(tall_style)
(5)合并单元格
#合并单元格,注意!!!起始行列计数均为0
sheet.write_merge(first_row, last_row, first_col, last_col, u'合并')
#举例:
sheet.write_merge(1, 3, 1, 3, u'合并')
#合并第二行到第四行的第二列到第四列

4.设置样式并写入数据

(1)初始化样式
style = xlwt.XFStyle()
(2)加入样式
#下面的设置按自己的需求设置后加入
style.font = font
style.pattern = pattern
style.alignment = alignment
style.borders = borders
(3)简单写入数据并应用样式
#row:行,col:列
sheet.write(row, col, u'想加入的数据', style)
欢迎大家指出我的不足,一起交流,共同进步啊!

参考资料

https://www.jianshu.com/p/b7c387a84204
https://blog.csdn.net/weixin_42122355/article/details/83536142

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值