1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python:利用xlwt设置Excel单元格格式

Python:利用xlwt设置Excel单元格格式

时间:2019-09-15 08:26:03

相关推荐

Python:利用xlwt设置Excel单元格格式

xlwt介绍和安装

xlwt是Python中操作Excel的一个库,可以将数据保存成Excel

API Reference:https://xlwt.readthedocs.io/en/latest/api.html#xlwt.Style.easyxf

PyPI:/project/xlwt-fix/

pip install xlwt

在保存之前,可以设置单元格的属性,官网提供了以下6种设置。

此文介绍其中4种:

Font:字体设置Alignment:对准设置Border:边框设置Background:背景设置

文中所有代码链接:/yangyang0126/PythonLearning/tree/master/Python实践/数据可视化/xlwt

创建表格

创建一个表格的流程

定义workbook添加sheet创建一个样式对象style,设置格式(这一步可以省略,出来就是默认格式)给表格赋值保存表格

我们首先创建一个最简单的表格,不做任何格式,内容就是从0-71的数字。

import xlwt# 定义workbookworkbook = xlwt.Workbook() # 添加sheet,这个sheet的名字叫'Style'sheet = workbook.add_sheet('Style') # 写入数据row = 0 # 行column = 0 # 列for i in range(72): sheet.write(row, column, i) # 写入数据,第row行,第column列,具体内容是icolumn += 1if column > 8:column = 0row += 1# 定义保存Excel的位置和文件名。默认是和代码存在一个路劲下面。workbook.save('CreatExcelTable.xls')

此时运行代码,生成的文件如下所示

能生成一个表格之后,我们开始来设置格式,包括设置字体、居中、边框和背景。

设置格式

1、设置单元格背景

先说设置单元格背景,因为背景设置主要是颜色的设置。这个颜色的识别,是通用的。

我们在设置字体、单元格填充时,会进行颜色的设置。比如将字体设置成红色,将单元格设置成黄色。在xlwt设置中,每一个颜色,都由相对应的数字表示。具体参照下图,给大家分别展示了,当字体是白色或者黑色时,单元格颜色的显示效果。

颜色对应的序号,字体为白色

颜色对应的序号,字体为黑色

设置表格格式,我们首先要先定义一个样式

# 创建一个样式对象,初始化样式 stylestyle = xlwt.XFStyle()

接着进行背景设置

pattern = xlwt.Pattern()pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12pattern.pattern_fore_colour = 4 # 给背景颜色赋值

根据上图可知,0代表黑色1代表白色2代表红色,以此类推。后续所有涉及颜色的操作,都以此数字代表。颜色参照上面的规则,比如,4,对应的是,深蓝色

设置好之后,把这个背景,应用到刚刚的style上面去

style.pattern = pattern # 把背景颜色加到表格样式里去

最后,在赋值的时候,把格式带上

sheet.write(row, column, i) # 不带格式sheet.write(row, column, i, style) # 有格式

2、设置字体格式

与上述一致,我们先要先定义一个样式

# 创建一个样式对象,初始化样式 stylestyle = xlwt.XFStyle()

接着进行字体设置

# 为样式创建字体font = xlwt.Font() font.name = 'Calibri' # 设置字体font.colour_index = 4 # 设置字体颜色font.height = 400 # 字体大小

字体大家可以任选,和Excel里面字体的名字匹配就可以颜色参照上面的规则,比如,4,对应的是,深蓝色字体大小也看大家心情啦

设置好之后,把这个字体,应用到刚刚的style上面去

style.font = font

最后,在赋值的时候,把格式带上

sheet.write(row, column, i) # 不带格式sheet.write(row, column, i, style) # 有格式

完整代码

import xlwtworkbook = xlwt.Workbook() sheet = workbook.add_sheet('Font') # 创建一个样式对象,初始化样式 stylestyle = xlwt.XFStyle() # 为样式创建字体font = xlwt.Font() font.name = 'Calibri' # 设置字体font.colour_index = 4 # 设置字体颜色font.height = 400 # 字体大小# 定义格式-字体style.font = font# 写入数据row = 0 # 行column = 0 # 列for i in range(72): sheet.write(row, column, i, style) # 增加样式if column > 8:column = 0row += 1workbook.save('Font.xls')

此时效果如下图所示,字体是Calibri,颜色是蓝色,字体大小是400

我们对字体进行进一步设置,设置粗体、斜体、下划线等

font.name = 'Times New Roman' # 设置字体 font.color_index = color # 设置字体颜色font.height = 400 # 字体大小 font.bold = True # 字体是否为粗体 font.italic = True # 字体是否为斜体 font.underline = True # 字体是否有下划线 font.struck_out =True # 字体中是否有横线

我们来看一下粗体、斜体和下划线的效果。下划线的颜色和粗细,是随着字体走的。字体粗体,下划线也是粗体。

下面是横线效果

3、位置设置

目前我只会设置水平位置

有些文章说,通过al.vert可以设置垂直位置,我尝试了没效果

后续如果学会了,再来更新

alignment = xlwt.Alignment()alignment .horz = 1# 设置水平位置,0是左对齐,1是居中,2是右对齐# 设置自动换行alignment.wrap = 1style.alignment = alignment

4、边框设置

# 设置边框borders = xlwt.Borders() # Create Borders# DASHED虚线# NO_LINE没有# THIN实线borders.left = xlwt.Borders.DASHED borders.right = xlwt.Borders.DASHED borders.top = xlwt.Borders.DASHED borders.bottom = xlwt.Borders.DASHED borders.left_colour = colorborders.right_colour = colorborders.top_colour = colorborders.bottom_colour = colorstyle.borders = borders

边框颜色随意,这个不多说了。讲一下边框的线条。

有两种定义方式,一种是用DASHED、THIN来表示

# DASHED虚线# NO_LINE没有# THIN实线borders.left = xlwt.Borders.DASHED borders.right = xlwt.Borders.DASHED borders.top = xlwt.Borders.DASHED borders.bottom = xlwt.Borders.DASHED

效果如下

实线边框

虚线边框

还有一种,可以直接用数字表示

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

这边展示了,不同数字对应的边框样式

根据数字定义边框

参考网址

python3使用xlwt时写入文档字体颜色和边框样式python3.6 xlwt 设置单元格对齐方式python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)

转载自洋阳酱

原贴地址

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。