上一篇讲了这个出库单表格的制作,获得了官方的引荐,为巩固咱们的学习效果,这一篇咱们换个表继续做操练,游刃有余,多操练才能把握的更好。

选取一个表格

从搜索结果里随机取得一张表格类型的图片。

Python 使用xlwings库操作excel的简明实践分享之考勤表制作实践

分析结构

仍然能够将这个表格分为两个部分,上部是标题和表头,能够看出来有4行;下面数据区域是31行,可能有31个学生。列有13列,写上了星期,这是一周的,明显没考虑到现在还有调休这种东西。 现在能够先自己做做看。


这一次换个生产的方式,先处理单元格的兼并,再制作框线,接着填入文字并调整对齐,处理文字和单元格的色彩,最终恰当调整高度和宽度,生成类似的表格。

处理单元格

1,2行各自兼并为一个单元格,3,4行根据实践图片兼并。后面31行无变化。


# 前两行
ws.range((1, 1), (1, 13)).merge()
ws.range((2, 1), (2, 13)).merge()
# 三四行
ws.range((3, 1), (4, 1)).merge()
ws.range((3, 2), (4, 2)).merge()
# 5个星期
ws.range((3, 3), (3, 4)).merge()
ws.range((3, 5), (3, 6)).merge()
ws.range((3, 7), (3, 8)).merge()
ws.range((3, 9), (3, 10)).merge()
ws.range((3, 11), (3, 12)).merge()
ws.range((3, 13), (4, 13)).merge()

框线制作

表头独立的粗框线,补白区域边际粗框线,整个数据区域鸿沟也是粗框线,补白内部是没有框线的。特定的单元格有个斜线。

ws.range((3, 1), (35, 13)).api.Borders(11).LineStyle = 1
ws.range((3, 1), (35, 13)).api.Borders(12).LineStyle = 1
# 3,4 行上下鸿沟
ws.range((3, 1), (4, 13)).api.Borders(8).LineStyle = 1
ws.range((3, 1), (4, 13)).api.Borders(9).LineStyle = 1
ws.range((3, 1), (4, 13)).api.Borders(8).Weight = 3
ws.range((3, 1), (4, 13)).api.Borders(9).Weight = 3
#  13列补白左右鸿沟
ws.range((3, 13), (35, 13)).api.Borders(7).LineStyle = 1
ws.range((3, 13), (35, 13)).api.Borders(10).LineStyle = 1
ws.range((3, 13), (35, 13)).api.Borders(7).Weight = 3
ws.range((3, 13), (35, 13)).api.Borders(10).Weight = 3
# 数据区域 左下鸿沟
ws.range((3, 1), (35, 13)).api.Borders(7).LineStyle = 1
ws.range((3, 1), (35, 13)).api.Borders(9).LineStyle = 1
ws.range((3, 1), (35, 13)).api.Borders(7).Weight = 3
ws.range((3, 1), (35, 13)).api.Borders(9).Weight = 3
# 单个斜线
ws.range((3, 2), (4, 2)).api.Borders(5).LineStyle = 1

填入文字并设置格局

照图片填入对应文字即可。仅第二行是靠右的,所以能够先全设置居中,再设置第二行,并对标题行文字设置色彩和尺度。迟到的图形实在打不出来,换了个别的符号。不要忘了咱们是在写代码,能简化的重复过程就简化,这里将数字序号按照顺序填入了表格中。 带斜线表头的单元格里,文字能够参加换行符,显现的时分也是换行的,凭借空格辅佐,借此操控两个文字的方位联系。

Python 使用xlwings库操作excel的简明实践分享之考勤表制作实践

设置单元格色彩

对表题的单元格色彩设置。色彩能够经过一些网页工具直接提取到

ws.range((3, 1), (4, 13)).color = '#a6c7c0'

设置行高与列宽

这过程就需要不断调试了。

Python 使用xlwings库操作excel的简明实践分享之考勤表制作实践

最终效果

看上去还是很像的

Python 使用xlwings库操作excel的简明实践分享之考勤表制作实践