Python 使用xlwings库操作excel的简明实践分享之大学生毕业登记表制作

264 阅读2分钟

趁热打铁,再接再厉,这一次我们选取一张《大学毕业生登记表》来进行绘制,图片依然是来源于网络搜索。这应该是本系列最后一展示表格绘制了,希望大家能熟练掌握。

图片样例

  image.png

分析结构

这个本质上是一张word上面的表格,结构并没有特色,是一份很常见的登记表,部分格子没有对齐。在处理这种表格时,我们要先将其对齐,划分单元格时将其视为跨单元格。实际生成一个6列20行的表格。

  image.png

 


这一次换成按照部位完成分割单元格和文字,调整行高,最后统一调整列宽与框线和对齐情况,这是一种特性部位局部分块,共性部位整体处理的工作方法,这次是上下顺序分的,换一个图可能又是另一种分法,关键在于找出共性。

标题行

第一行的标题行弄个蓝底白字并不是很合适,我这里会修改成普通的。并不是越花里胡哨越好,像这种正式的登记表应该保持庄重、清晰、整洁。

image.png

照片区域

右侧照片格占据的区域称之为照片区域。这个区域内行高基本一致,用于填写一些基本信息,注意第二第三列是合并在一起的。文字部分可以按照列写入的方式存入

  image.png

中部数据区域

包含照片区域至学习经历上方的部分。这部分区域行高基本一致,但单元格分组并不一致。接近于一个一个调整。

image.png

学习经历区域

区域包含学习经历单元格与下方行高较小的几行。

image.png  

自我鉴定区域

最后一个大格子

image.png  

统一调整边框、列宽和对齐

边框全是细实线,巧用循环批量设置。

image.png

对齐方式除了最后一行都是居中

image.png

最后调整列宽

image.png


列宽可以在运行的结果里自行拖动调整,知道找到合适的尺寸,这里尤其要注意照片的位置,我这里没有精细处理,但一个照片是有固定尺寸的。你做出来的表格是要实际使用的,不是你想怎么画就怎么画的。

立着的二寸照片是35mm*53mm

查资料发现:

表格行高使用的单位是近乎一磅但又不止一磅的东西,1毫米等于2.7682个单位,所以可以知道照片区域整体高度至少是146单位,所以每行高度是36.5

表格列宽的单位是近似0.1英寸,0.1英寸为2.54mm,但1毫米约为0.4374个单位第六列的列宽约等于15.3个列宽单位。

但实际显示效果不佳,不知道是不是以讹传讹。