可借鉴的网址:https://www.programcreek.com/python/example/39979/xlwt.Alignment

可以直接通过pip安装xlwt

个人理解:

xlwt中对excel操作哦时主要用了font、alignment、pattern、protection这四个。

其中:

font:主要对字体进行操作,比如字体的颜色、大小
alignment:主要是对输入内容之后的对齐方式对齐
borders:每一个单元格的格式
pattern:设置单元格的背景颜色
protection:没用过不太懂意思

一.font对字体写入的颜色设置:

ef setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 定义格式
style.font = font return style if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8') # 创建工作簿 # 创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置
column = 0;
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, setStyle('Times New Roman', 400, i, False)) # 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 ==0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls') # 保存文档

步骤:

1.创建工作薄对象。

2.设置excel里面工作表的名字

3.通过font定义字体的类型、大小和颜色

4.然后通过sheet1的write方法指定行列并写入内容

效果图:

其中1和9看不清,可能写入的颜色为白色,并不是没有写入。(把那两个单元格的颜色改成黑色就能正常看见了);修改之后的样子

font中其他一些元素的属性:

font.bold = bold # 粗体
font.italic = True # 斜体
font.underline = 10 # 下划线(其中当值为9,整行的填充色为蓝色)
font.struck_out =True # 横线(比如:在一个字中 画上一横)
def set_style(name, height,color, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 是否为粗体
font.bold = bold
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 字体是否斜体
font.italic = True
# 字体下划,当值为11时。填充颜色就是蓝色
font.underline = 0
# 字体中是否有横线struck_out
font.struck_out =True
# 定义格式
style.font = font return style if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8') # 创建工作簿 # 创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置
column = 0;
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, set_style('汉仪瘦金书繁', 400, i, False)) # 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 ==0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls') # 保存文档
字体下划underline属性值不为9的效果图:(并有加粗的效果)


字体下划underline属性值为9的效果图:

注 : 看出underline等于某个值时是没有下划线,而等于98时出现双下划线的效果



二.borders中设置元素边框的属性:

def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 定义格式
style.font = font # borders.left = xlwt.Borders.THIN
# NO_LINE: 官方代码中NO_LINE所表示的值为0,没有边框
# THIN: 官方代码中THIN所表示的值为1,边框为实线
borders = xlwt.Borders()
borders.left = color
borders.left = xlwt.Borders.THIN
borders.right = color
borders.top = color
borders.bottom = color # 定义格式
style.borders = borders return style if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8') # 创建工作簿 # 创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置
column = 0
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True)) # 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 == 0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls') # 保存文档

效果图:

设置自己喜欢的格式,上面的图应该够用了。

三、pattern设置单元格的颜色背景颜色:

def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 定义格式
style.font = font # borders.left = xlwt.Borders.THIN
# NO_LINE: 官方代码中NO_LINE所表示的值为0,没有边框
# THIN: 官方代码中THIN所表示的值为1,边框为实线
borders = xlwt.Borders()
borders.left = color
borders.left = xlwt.Borders.THIN
borders.right = color
borders.top = color
borders.bottom = color # 定义格式
style.borders = borders # 设置背景颜色
pattern = xlwt.Pattern()
# 设置背景颜色的模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 背景颜色
pattern.pattern_fore_colour = color style.pattern = pattern return style if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8') # 创建工作簿 # 创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置
column = 0
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True)) # 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 == 0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls') # 保存文档

效果图:

四、alignment对齐方式的设置:

def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 定义格式
style.font = font alignment = xlwt.Alignment()
alignment.horz = color style.alignment = alignment return style if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8') # 创建工作簿 # 创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置
column = 0
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True)) # 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 == 0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls') # 保存文档

效果图:

注意:有些等于某个值时会有不同的效果

alignment还有其他的属性其他属性:

五、protection的使用不是很明白,网上的解释是:设置保护模式

以上是自己总结的,如果不够好可以私聊别差评,谢谢。后续更新。

小白-->叮咚

下面上传了alignment对齐方式生成的excel表格。

链接: https://pan.baidu.com/s/1o8kPJ2y

密码: dwun

[知识积累]python3使用xlwt时写入文档字体颜色和边框样式的更多相关文章

  1. c# 读取txt文档和写入文档的方法

    StreamReader sr = new StreamReader(path); //path是要读取的文件的完整路径 String str_read = sr.ReadToEnd(); //从开始 ...

  2. PDF 补丁丁 0.4.2.1013 测试版发布:修复替换PDF文档字体等问题

    新的测试版修复了若干问题,建议下载了旧测试版的用户更新.修复的问题列表: 替换PDF文档字体可能将字体宽度变成0. 书签编辑器在加载XML书签时不显示对应文档的预览. 自动生成书签功能复制文本筛选器后 ...

  3. 如何在使用itext生成pdf文档时给文档添加背景图片

    这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片.在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这又 ...

  4. 在Linux上如何查看Python3自带的帮助文档?

    俩个步骤: 在Linux终端下输入: ortonwu@ubuntu:~$ pydoc -p 8000 pydoc server ready at http://localhost:8000/ 打开浏览 ...

  5. 使用Git Wiki 管理文档时,文档编写的基本用法

    自己初次接触GitLab,通过百度和自己查找资料,了解了一部分.在自己的工作中,主要用到GitLab的Wiki文档版本管理能力.我总结了一小部分文本编辑需要用到的东西. 一.文本的排版 为了让文本/文 ...

  6. Nginx基础知识之————RTMP模块专题(实践文档)

    on_publish 语法:on_publish url上下文:rtmp, server, application描述:这个可以设置为一个API接口(GET方式接受所有参数),会给这个API接口返回8 ...

  7. linux 系统中将数据写入文档不能立即保存问题的解决方法

    应用场景: 设备跑的是Linux系统,与PC上位机进行通信,上位机可以给Linux发送设备配置信息,Linux将配置信息写入文件中以备设备断电重启时使用. bug现象: 设备正常运行,设备配置信息为A ...

  8. 两年前实习时的文档——Platform学习总结

    1  概述 驱动程序实际上是硬件与应用程序之间的中间层.在Linux操作系统中,设备驱动程序对各种不同的设备提供了一致的訪问接口,把设备映射成一个特殊的设备文件,用户程序能够像其它文件一样对设备文件进 ...

  9. 两年前实习时的文档——MMC学习总结

    1概述 驱动程序实际上是硬件与应用程序之间的中间层.在Linux操作系统中,设备驱动程序对各种不同的设备提供了一致的訪问接口,把设备映射成一个特殊的设备文件,用户程序能够像其它文件一样对设备文件进行操 ...

随机推荐

  1. THUWC2018 暴力+爆炸记

    Day 0 没有Day0. Day 1 签到然后去宿舍,环境还行,比某偏远山区要强多了,不过这热水有点难拿??看RP有遇到煮好水的饮水机就拿,没有就苟矿泉水. 中午,那个餐还是挺好吃的,不过餐费40就 ...

  2. Pick-up sticks--poj2653(判断两线段是否相交)

    http://poj.org/problem?id=2653 题目大意:有n根各种长度的棍   一同洒在地上 求在最上面的棍子有那几个 分析:  我刚开始想倒着遍历  因为n是100000   想着会 ...

  3. [Bzoj3631][JLOI2014]松鼠的新家 (树上前缀和)

    3631: [JLOI2014]松鼠的新家 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2350  Solved: 1212[Submit][Sta ...

  4. 转 常见hash算法的原理

    散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫 ...

  5. java截屏简单例子

    原文:http://www.open-open.com/code/view/1444211411979 java截屏 * 运行后将当前屏幕截取,并最大化显示. * 拖拽鼠标,选择自己需要的部分. * ...

  6. 信号量学习 & 共享内存同步

    刚刚这篇文章学习了共享内存:http://www.cnblogs.com/charlesblc/p/6142139.html 里面也提到了共享内存,自己不进行同步,需要其他手段比如信号量来进行.那么现 ...

  7. OpenWrt 安装python-sqlite3失败

    https://dev.openwrt.org/ticket/12239 #12239 reopened defect Sqlite3 missing in python 汇报人: dgspai@- ...

  8. ArcGIS Engine 10.2 如何发布服务

    http://blog.csdn.net/arcgis_all/article/details/17376397 1 ArcGIS Engine 10.2 如何发布服务 ArcGIS Engine的代 ...

  9. 盘点UML中的四种关系

    生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...

  10. android 自己定义水平和圆形progressbar 仅仅定义一些style就能够

    效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss ...