当前位置: 首页 > news >正文

python-读写Excel(三)-xlwt格式设置

目录

设置列宽行高

字体设置

边框设置

对齐方式

背景颜色

合并单元格

数据保护


设置列宽行高

原表数据

import xlrd, xlwt
from xlutils.copy import copy

ele = xlrd.open_workbook('wd.xlsx')  # 打开表
sheet1 = ele.sheets()[0]  # 获取表单
new_wd = copy(ele)
st = new_wd.get_sheet(0)
# 设置列宽(一个中文等于两个英文等于两个字符,20为字符数,256表示一个衡量单位)
st.col(0).width = 20 * 256
# 设置行高,首先调用row()函数,括号里的参数为行的下标,调用之后对高度进行赋值(60表示一个衡量单位,然后再乘以设置的单位数)
st.row(2).height_mismatch = True
st.row(2).height = 60 * 10
new_wd.save('new_wd.xlsx')

 

字体设置

字体属性
name = '楷体'字体名称
blod = True是否加粗,TRUE为加粗
height = 20*20字号大小
underline = True# 无下划线:0、UNDERLINE_NONE = 0x00 
# 单下划线,文字下划线:True、1、UNDERLINE_SINGLE = 0x01 
# 单下滑线,全单元格:UNDERLINE_SINGLE_ACC = 0x21 
# 双下划线,文字下划线:2、UNDERLINE_DOUBLE = 0x02 
# 双下滑线,全单元格:UNDERLINE_DOUBLE_ACC = 0x22  
italic = True设置斜体
escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT# xlwt.Font.ESCAPEMENT_SUBSCRIPT 设置字体悬空位于下方
# xlwt.Font.ESCAPEMENT_SUPERSCRIPT 设置字体悬空位于上方
# xlwt.Font.ESCAPEMENT_NONE 设置字体没有这个效果
colour_index = 12可参考中的数值xlwt.Style.colour_map,colour_map属性返回一个字典,里面有颜色对应的序号font2.colour_index =xlwt.Style.colour_map['blue']
struck_out = True设置删除线
charset = 0x86设置字符集
import xlrd, xlwt
from xlutils.copy import copy

ele = xlrd.open_workbook('wd.xlsx')  # 打开表
sheet1 = ele.sheets()[0]  # 获取表单
new_wd = copy(ele)
st = new_wd.get_sheet(0)

style1 = xlwt.XFStyle()  # 设置初始化样式
font1 = xlwt.Font()  # 创建字体属性,字体属性见Font()源码
# 修改属性值:
font1.name = '楷体'  # 设置字体
font1.blod = True  # 是否加粗,TRUE为加粗
font1.height = 20 * 20  # 字号大小
font1.struck_out = True  # 设置删除线
style1.font = font1  # 将设置好的属性值赋值给样式对象
st.write(3, 0, '贾宝玉', style1)  # 写入数据

style2 = xlwt.XFStyle()
font2 = xlwt.Font()
font2.underline = 0x21
font1.height = 15 * 15  # 字号大小
font2.italic = True  # 设置斜体
font2.escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT  # 设置字体效果:字体悬空位于上方
font2.colour_index = 13  # 设置字体颜色
style2.font = font2
st.write(4, 0, '甄宝玉', style2)
new_wd.save('new_wd.xlsx')

  

colour_map属性返回一个字典,里面有颜色对应的序号

print(xlwt.Style.colour_map)  # 打印颜色名称数字匹配字典值
{'aqua': 49,
 'black': 8,
 'blue': 12,
 'blue_gray': 54,
 'blue_grey': 54,
 'bright_green': 11,
 'brown': 60,
 'coral': 29,
 'cyan_ega': 15,
 'dark_blue': 18,
 'dark_blue_ega': 18,
 'dark_green': 58,
 'dark_green_ega': 17,
 'dark_purple': 28,
 'dark_red': 16,
 'dark_red_ega': 16,
 'dark_teal': 56,
 'dark_yellow': 19,
 'gold': 51,
 'gray25': 22,
 'gray40': 55,
 'gray50': 23,
 'gray80': 63,
 'gray_ega': 23,
 'green': 17,
 'grey25': 22,
 'grey40': 55,
 'grey50': 23,
 'grey80': 63,
 'grey_ega': 23,
 'ice_blue': 31,
 'indigo': 62,
 'ivory': 26,
 'lavender': 46,
 'light_blue': 48,
 'light_green': 42,
 'light_orange': 52,
 'light_turquoise': 41,
 'light_yellow': 43,
 'lime': 50,
 'magenta_ega': 14,
 'ocean_blue': 30,
 'olive_ega': 19,
 'olive_green': 59,
 'orange': 53,
 'pale_blue': 44,
 'periwinkle': 24,
 'pink': 14,
 'plum': 61,
 'purple_ega': 20,
 'red': 10,
 'rose': 45,
 'sea_green': 57,
 'silver_ega': 22,
 'sky_blue': 40,
 'tan': 47,
 'teal': 21,
 'teal_ega': 21,
 'turquoise': 15,
 'violet': 20,
 'white': 9,
 'yellow': 13}

边框设置

边框属性
top上边框样式
bottom下边框样式
left左边框样式
right右边框样式
top_colour上边框颜色
bottom_colour下边框颜色
left_colour左边框颜色
right_colour右边框颜色
边框样式:细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7,大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
import xlrd, xlwt
from xlutils.copy import copy

ele = xlrd.open_workbook('wd.xlsx')  # 打开表
sheet1 = ele.sheets()[0]  # 获取表单
new_wd = copy(ele)
st = new_wd.get_sheet(0)

style3 = xlwt.XFStyle()
borders1 = xlwt.Borders()
borders1.top, borders1.top_colour = 1, 13
borders1.bottom, borders1.bottom_colour = 4, xlwt.Style.colour_map['red']
borders1.left, borders1.left_colour = 5, 17
borders1.right, borders1.right_colour = 10, 53
style3.borders = borders1
st.write(4, 3, '边框设置', style3)
new_wd.save('new_wd.xlsx')

对齐方式

对齐方式属性
水平对齐vertxlwt.Alignment.VERT_TOP  # 水平上对齐,等价于0x00
xlwt.Alignment.VERT_CENTER  # 水平居中,等价于0x01
xlwt.Alignment.VERT_BOTTOM  # 水平下对齐,等价于0x02
垂直对齐horzxlwt.Alignment.HORZ_LEFT  # 垂直左对齐,等价于0x00
xlwt.Alignment.HORZ_CENTER  # 垂直居中,等价于0x01
xlwt.Alignment.HORZ_RIGHT  # 垂直右对齐,等价于0x02
rota旋转方向,值为数字,表示旋转的角度
wrap自动换行
shri自动缩进
style4 = xlwt.XFStyle()
alignment1 = xlwt.Alignment()  # 创建对齐方式对象
alignment1.vert = xlwt.Alignment.VERT_TOP  # 水平上对齐,等价于0x00
alignment1.horz = xlwt.Alignment.HORZ_RIGHT  # 垂直右对齐,等价于0x02
alignment1.rota = 45  # 旋转方向,设置旋转方向45
# alignment1.wrap = 1  # 自动换行
# alignment1.shri = 1  # 自动缩进设置
style4.alignment = alignment1
st.write(5, 2, '对齐样式', style4)
new_wd.save('new_wd.xlsx')

  

背景颜色

style5 = xlwt.XFStyle()
pattern1 = xlwt.Pattern()  # 创建模式对象
pattern1.pattern = xlwt.Pattern.SOLID_PATTERN  # 设置模式
pattern1.pattern_fore_colour = xlwt.Style.colour_map['blue']  # 设置填充色
style5.pattern = pattern1
st.write(6, 2, '填充色', style5)
new_wd.save('new_wd.xlsx')

  

合并单元格

sheetwork.write_merge(r1, r2, c1, c2,'data',style),r1,r2合并的起始行和终止行,c1,c2合并的起始列和终止列:0 <= c1 <= c2 <= 255;0 <= r1 <= r2 <= 65535

st.write_merge(8, 10, 2, 4, '合并单元格', style5)
new_wd.save('new_wd.xlsx')

  

数据保护

设置单元格数据保护之后,数据只能查看不能修改和编辑

pt = xlwt.Protection()
pt.cell_locked = 1  # 设置单元格锁定
pt.formula_hidden = 1  # 设定隐藏单元格内公式
st.set_protect(1)  # 只有在st表设置为保护时才有效
new_wd.save('new_wd.xlsx')

  

相关文章:

  • 主从复制Slave_IO_Running: NO Slave_SQL_Running: NO 解决办法
  • 14对象的方法
  • 神经网络原理与实例精解,神经网络案例讲解范文
  • 【dfs爆搜】poj 1129 Channel Allocation
  • 244页14万字XX智能交通系统设计方案
  • 9月24日计算机视觉基础学习笔记——经典机器学习_02
  • Java编程之语法结构
  • springboot-webFlux的webclient详细使用介绍,细节拉满
  • 分布式主键生成设计策略
  • getch()与_getch()、不能将const char*类型的值分配到const* 类型的实体
  • java-php-python-ssmC语言教学辅导网站计算机毕业设计
  • nacos1.4.2
  • 绝了,Gooey:一行代码将 Python 程序转换为图形界面应用
  • matlab系统辨识工具箱原理,matlab常用工具箱介绍
  • 深度学习目标跟踪相关细节-毕设
  • [译]Python中的类属性与实例属性的区别
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • AngularJS指令开发(1)——参数详解
  • angular组件开发
  • CentOS 7 防火墙操作
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • JavaScript新鲜事·第5期
  • JS变量作用域
  • js算法-归并排序(merge_sort)
  • LeetCode算法系列_0891_子序列宽度之和
  • Vue.js 移动端适配之 vw 解决方案
  • 初识 beanstalkd
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 机器学习中为什么要做归一化normalization
  • 来,膜拜下android roadmap,强大的执行力
  • 七牛云假注销小指南
  • 浅谈Golang中select的用法
  • 数组大概知多少
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 仓管云——企业云erp功能有哪些?
  • 如何正确理解,内页权重高于首页?
  • ​Java并发新构件之Exchanger
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (9)目标检测_SSD的原理
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • . Flume面试题
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net Remoting常用部署结构
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .NET值类型变量“活”在哪?
  • .Net中ListT 泛型转成DataTable、DataSet
  • @Autowired注解的实现原理
  • @ModelAttribute使用详解
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解