我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python利用xlwings实现考勤表制作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python利用xlwings实现考勤表制作

选取一个表格

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

分析结构

依然可以将这个表格分为两个部分,上部是标题和表头,可以看出来有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制作考勤表内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python利用xlwings实现考勤表制作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python利用xlwings实现考勤表制作

这篇文章主要为大家详细介绍了Python如何利用xlwings库操作excel实现考勤表的制作,文中的实现步骤讲解详细,感兴趣的可以尝试一下
2023-05-18

Python利用reportlab实现制作pdf报告

这篇文章主要为大家详细介绍了reportlab生成流文件格式、reportlab分页和图片流文件写入reportlab等内容,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2022-12-23

Python利用pynimate实现制作动态排序图

这篇文章主要为大家详细介绍了Python如何利用pynimate实现制作动态排序图,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-02-01

利用Python实现无损GIF动图的制作

这篇文章主要为大家详细介绍了如何利用Python实现无损GIF动图的制作,文中的实现方法讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
2023-05-15

JavaScript利用el-table实现绘制热度表

这篇文章主要为大家详细介绍了JavaScript如何利用el-table实现绘制热度表,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-03-19

PythonFlask利用SocketIO库实现图表的绘制

这篇文章主要为大家详细介绍了PythonFlask框架如何利用SocketIO库实现图表的绘制,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
2022-12-22

利用Python实现生成颜色表(colorchart)

目录前言格子颜色表渐变色带前言在做色彩相关的算法分析时候,经常需要使用规则的颜色表来进行辅助。下面用python(numpy和opencv)来生成颜色表并保存为图片。有两种类型:格子形状的颜色表渐变色带长的样子分别如下:格子颜色表
2023-05-12

怎么用Python实现自动化处理每月考勤缺卡数据

这篇文章主要介绍“怎么用Python实现自动化处理每月考勤缺卡数据”,在日常操作中,相信很多人在怎么用Python实现自动化处理每月考勤缺卡数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python
2023-07-02

Python中怎么利用Altair实现数据制图

这篇文章给大家介绍Python中怎么利用Altair实现数据制图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。绘图流程我通过绘制同一个多柱状图比较了多个 Python 绘图库的差异。正式开始之前,你需要将你的 Pyth
2023-06-16

利用Vue3实现可复制表格的方法详解

表格是前端非常常用的一个控件,本文主要为大家介绍了Vue3如何实现一个简易的可以复制的表格,文中的示例代码讲解详细,需要的可以参考一下
2022-12-12

QT利用QPdfWriter实现绘制PDF(支持表单输出)

这篇文章主要为大家详细介绍了QT如何利用QPdfWriter实现绘制PDF,并可以支持表单输出。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-01-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录