python设置excel边框_用Python操作Excel电子表格?单元格边框如何设置?样式有哪些?...

洋洋洒洒写了这么多,自己也搞不清楚有多少内容了,先来梳理下:

Excel操作内容梳理

01前情回顾

前面内容,我们详细了解了使用Python中xlrd模块对于Excel电子表格的读取,参见:

Excel文件另类操作,如何用Python中xlrd模块获取电子表格的信息

另外,我们结合Python中PyQt5模块,对于Excel工作簿中一张工作表进行了展示,参见:

用Python将电子表格Excel展示在界面中,PyQt5之QTableWidget应用

这还远远不够,我们知道,工作簿中应该有很多电子表格的,如何全部展示出来呢?我们介绍了另一个方案,使用PyQt5的QTableWidget类和QTabWidget类,搞定了这一需求。参见:

Excel表格搬到Python界面上?可以实现!结合PyQt5的QTabWidget类

上面的内容是对Excel内容的读取。

如何写入呢?

然后我们又介绍了对于Excel进行操作的一个xlwt模块。并对模块中如何设置单元格的字体、函数、颜色等等一些内容进行了介绍,参见下面两篇内容:

Python操作Excel电子表格?xlwt模块重拳出击,看这一篇就够了!

Python使用xlwt模块,对Excel表格中单元格颜色设置的方法汇总

就先回顾到这里吧。在对于颜色设置的一篇中,我们介绍了单元格颜色的设置,对于如何使用xlwt模块设置单元格边框样式未做详细介绍。

还是电子表格

今天,我们就来看看这个。

02Excel单元格边框样式有哪些?

上一篇中有一张截图,不知道大家有没有留意,如下图所示:

Excel中边框样式

今天就结合xlwt模块,来梳理这些边框样式的前世今生,感兴趣的小伙伴千万别走开哦。

03如何在xlwt中获得边框样式内容

我们知道,对于边框定义中,使用下面语句即可定义一个边框实例。

borders = xlwt.Borders()

我们使用dir()函数来看下它提供的接口和属性有哪些?如下图所示

使用dir()函数获取信息

是不是很熟悉?上面白线框住的大写字母的描述的属性就是我们需要的内容,但是接口有点多,还有很多实例方法,这里不好筛选了,我们直接查看它的类属性,如下:

类属性的获取

看到区别了吗?我们直接查看类属性就不会获取到一些实例方法了,这样我们很容易将它们提取出来,使用下面的语句:

borderStyleLst = [i for i in dir(xlwt.Borders) if not i.startswith('_')]

print(borderStyleLst)

这样我们就获取到了它常用的样式了,如下图:

获取Borders类的边框样式属性

['DASHED', 'DOTTED', 'DOUBLE', 'HAIR', 'MEDIUM', 'MEDIUM_DASHED', 'MEDIUM_DASH_DOTTED', 'MEDIUM_DASH_DOT_DOTTED', 'NEED_DIAG1', 'NEED_DIAG2', 'NO_LINE', 'NO_NEED_DIAG1', 'NO_NEED_DIAG2', 'SLANTED_MEDIUM_DASH_DOTTED', 'THICK', 'THIN', 'THIN_DASH_DOTTED', 'THIN_DASH_DOT_DOTTED']

一共有18个,我们看到,Excel表格中的边框样式只有14个,这是为什么呢?别着急,答案后面揭晓。

04实例演示Borders边框样式属性

下面我们通过一个实例来展示单元格边框样式,我们还是将边框样式名称及内容写入到Excel,并对比图形设置中的边框样式,来看下到底为什么类属性中的样式比实际Excel中的样式多!

代码如下:

获取边框样式源代码

我们来看下程序运行效果及对比,这样很容易明白多了哪些内容。

结果对比

从上图可以看出多的四个属性就是我们绿色框选的部分,其中NO_LINE属性就有3个,另外,多出来一个NEED_DIAG2。不晓得xlwt为何这样实现,有知道的小伙伴么?欢迎大家下方留言,一起学习进步……

好了,今天的内容就到这里了,喜欢Python编程的小伙伴关注我,后续会陆续推出更加精彩的内容哦。

转载请注明出处,百家号:Python高手养成

你可能感兴趣的:(python设置excel边框)