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
    点赞
  • 0
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值