Python利用xlwings实现考勤表制作

 更新时间:2023年04月27日 09:45:45   作者:Amor  
这篇文章主要为大家详细介绍了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

填入文字并设置格式

照图片填入对应文字即可。仅第二行是靠右的,所以可以先全设置居中,再设置第二行,并对标题行文字设置颜色和尺寸。迟到的图形实在打不出来,换了个别的符号。不要忘了我们是在写代码,能简化的重复步骤就简化,这里将数字序号按照顺序填入了表格中。 带斜线表头的单元格里,文字可以加入换行符,显示的时候也是换行的,借助空格辅助,借此控制两个文字的位置关系。

设置单元格颜色

对表题的单元格颜色设置。颜色可以通过一些网页工具直接提取到

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

设置行高与列宽

这步骤就需要不断调试了。

最终成果

看上去还是很像的

到此这篇关于Python利用xlwings实现考勤表制作的文章就介绍到这了,更多相关Python xlwings制作考勤表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pandas数据清洗函数总结

    Pandas数据清洗函数总结

    本文主要介绍了Pandas数据清洗函数总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • python 匿名函数与三元运算学习笔记

    python 匿名函数与三元运算学习笔记

    这篇文章主要介绍了python 匿名函数与三元运算的相关资料,帮助大家更好的理解和学习python 编程,感兴趣的朋友可以了解下
    2020-10-10
  • 3个用于数据科学的顶级Python库

    3个用于数据科学的顶级Python库

    今天小编就为大家分享一篇关于3个用于数据科学的顶级Python库,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • PyTorch中permute的基本用法示例

    PyTorch中permute的基本用法示例

    pytorch中的permute就像是numpy中的transpose()函数一样,根据指定的维度进行转置,下面这篇文章主要给大家介绍了关于PyTorch中permute的基本用法,需要的朋友可以参考下
    2022-04-04
  • Python判断两个list是否是父子集关系的实例

    Python判断两个list是否是父子集关系的实例

    今天小编就为大家分享一篇Python判断两个list是否是父子集关系的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python连接mysql数据库及简单增删改查操作示例代码

    Python连接mysql数据库及简单增删改查操作示例代码

    这篇文章主要介绍了Python连接mysql数据库及简单增删改查操作示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)

    使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)

    Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增添视觉效果,提升报告的吸引力,本文将详细介绍如何使用Python操作Excel中的图片,文中有详细代码示例供大家参考,需要的朋友可以参考下
    2024-07-07
  • python如何利用Mitmproxy抓包

    python如何利用Mitmproxy抓包

    这篇文章主要介绍了python如何利用Mitmproxy抓包,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10
  • 移除Selenium中window.navigator.webdriver值

    移除Selenium中window.navigator.webdriver值

    这篇文章主要为大家介绍了如何正确的移除Selenium中window.navigator.webdriver的值方法步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Pycharm使用爬虫时遇到etree红线问题及解决

    Pycharm使用爬虫时遇到etree红线问题及解决

    这篇文章主要介绍了Pycharm使用爬虫时遇到etree红线问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论