TableMaker.py

Shawn
11/22/2018

这个类负责生成邮件的内容, 为了方便所以我选择直接用html格式来实现工资表.
为了方便使用所以就直接写成了工具类.

软件本体见 https://blog.csdn.net/weixin_41084236/article/details/84325652

html相关的知识详见这里


    @staticmethoddef table(s):  # 表格总包装return "<table border=\"1px\">" + s + "</table>"@staticmethoddef tr(s):  # 表格行包装return "<tr>" + s + "</tr>"@staticmethoddef td_spin(s, span):  # 表格跨列单元格包装return f"<td colspan={span}>" + s + "</td>"@staticmethoddef td(s):  # 表格普通单元格包装return "<td>" + s + "</td>"@staticmethoddef p(s):  # 段落包装return "<p>" + s + "</p>"

这个部分用来方便实现简便的html转换, 因为要用到的功能很少, 所以就没有调用专业的库.


    @staticmethoddef salary_str(row_line_array):  # 个人数据包装, 将数组包装成表格的一行info = ""for element in row_line_array:info += TableMaker.td(element)return TableMaker.tr(info)

这个部分用来将输入的个人资料数组转换成工资表的一行


    @staticmethoddef table_head_str(date_str, title):  # 表头包装, 根据输入的标题、日期输出四行固定格式的表头line3data = ["部门", "姓名", "卡号", "开户行", "入职日期","基本工资", "岗位工资", "合计", "绩效", "工资合计","实际天数", "出勤天数", "缺勤天数", "病假天数", "缺勤","绩效","其他", "合计", "午贴", "交补","其它", "合计", "应发工资", "公司社保", "公司公积金","合计", "个人社保", "个人公积金", "其它", "合计","税前工资", "个税1", "个税2", "实发工资"]line0 = TableMaker.tr(TableMaker.td_spin(title, 34))line1 = TableMaker.tr(TableMaker.td_spin("编制单位:XXX有限公司", 14)+ TableMaker.td_spin(date_str, 12)+ TableMaker.td_spin("单位:元", 8))line2 = TableMaker.tr(TableMaker.td_spin("", 5)+ TableMaker.td_spin("工资部分", 5)+ TableMaker.td_spin("出勤", 4)+ TableMaker.td_spin("应扣项目", 4)+ TableMaker.td_spin("应发", 5)+ TableMaker.td_spin("公司部分", 3)+ TableMaker.td_spin("代缴项目", 4)+ TableMaker.td_spin("", 4))line3 = ""for item in line3data:line3 += TableMaker.td(item)line3 = TableMaker.tr(line3)return line0 + line1 + line2 + line3

这个部分用来生成固定的表头, 由需求决定. 大体上就是用单元格\跨行单元格来拼接.


    @staticmethoddef pack_up(name, salary_title, manager, date_str, personal_part):  # 表格总输出,根据输入返回完整的表格+前后段落content = ''personal_line = ''table = ''opening = ["   " + name + "您好:","感谢你对公司作出的贡献和努力!\n现向您发送" + salary_title + ",公司已代缴个人五险一金、个人所得税!您的工资条明细如下:"]ending = ["如有任何问题或疑问请在3个工作日内与"+manager+"联系,如无则默认为当月工资发放无误。谢谢!","继续加油!"]for _open in opening:content += TableMaker.p(_open)table += TableMaker.table_head_str(date_str, salary_title)for element in personal_part:personal_line += TableMaker.td(element)table += TableMaker.tr(personal_line)content += TableMaker.table(table)for _end in ending:content += TableMaker.p(_end)return content

这个部分是整个类最主要的功能, 根据输入一步输出邮件的内容.
排版为:开头段落+个人工资表+结尾段落

工资条: TableMaker部分相关推荐

  1. 工资条邮件分发 : 读取excel并单独用email发送

    工资条邮件发送软件 v1.0 作者: Shawn Python 3.7 代码地址: https://github.com/RichardFu123/pythonTools/tree/master/Sa ...

  2. 我帮公司财务写了个“群发工资条”的Python脚本

    作者 | 黄伟呢 来源 | 数据分析与统计学之美 介绍 这是一个很好的Python自动化的案例.对于小公司,采用手动方式一个个发送邮件还是可以的.如果一个上百号,上千号,或者更大规模的公司,我们再一个 ...

  3. 看到抖音上Python工程师晒得工资条,我沉默了......

    我是个抖音中毒者 闲来无事就喜欢刷抖音 最近刷到了一个Python工程师的工资条 然后我默默的打开看了 然后我默默的关闭了 我想这个工资算下来好像也不算高 我就去其他渠道搜索了一下相关的Python工 ...

  4. 用WPS表格轻松设计工资条

    用WPS表格轻松设计工资条 出处:PConline [ 2007-06-15 17:58:04 ] 作者:厂商动态 责任编辑:liushaoqun 在任何企业之财务管理中,一定少不了工资计算和设计工资 ...

  5. python对财务人员的帮助-帮公司财务妹子写了个“群发工资条”的Python脚本!

    hi,大家好,我是朱小五 两周前我发了一篇办公自动化的文章,本来决定最近这个月就不发同类型的了. 结果正如你们所见: 因为这真的是一个很好的Python自动化的案例!!! 所以即使打脸也要推荐给大家! ...

  6. python编程工资-看到抖音上Python工程师晒得工资条,我沉默了......

    原标题:看到抖音上Python工程师晒得工资条,我沉默了...... 我是个抖音中毒者 闲来无事就喜欢刷抖音 最近刷到了一个Python工程师的工资条 然后我默默的打开看了 然后就默默的关闭了 如今P ...

  7. day1 工资条的制作

    1.for要与next连用 if的用法 if **** then elseif ***** else***** endif 2.通过简单的录制宏与适当的改写完成工资条的制作Sub 工资条() ' ' ...

  8. 使用录制宏制作工资条

    工资条的制作 用excel普通操作固然能实现对工资条的制作,但我们仍希望通过自动的方法节省时间,提高工作效率,此时,我们可以通过Excel工具栏的开发工具-宏实现表格自动化,下面是使用录制宏的具体代码 ...

  9. 前有教授被骗千万,后有某重点高校青年教师晒出月薪900的工资条,大学老师工资待遇如何?...

    前有清华教授被骗千万,后有某重点高校青年教师晒出月薪900的工资条,大学老师工资待遇如何? 为了了解不同地区的高校老师待遇的差距,云南某大学老师曾在小木虫论坛发出了调查帖.回帖格式为:高校所在省份+学 ...

最新文章

  1. 院士论坛 | 郭毅可院士:人工智能的热望与冷思考
  2. 【NLP】创建强大聊天机器人的初学者指南
  3. 盘点Spring Boot最核心的27个注解
  4. 三色标记原理,我给应聘者问懵了...
  5. 灵感分享| 实例UI组件的设计风格
  6. 某大型IT公司招网络工程师认证试题精选(要求:CCNA或 HCNE以上)
  7. java run 方法_java线程中的run()方法能有几个啊?
  8. [BZOJ1085][SCOI2005]骑士精神
  9. 如何使用fiddler工具抓包?
  10. php 预编译,预编译的prepare statements 管理, 实现和思路
  11. java数组初始化0_Java自学-数组 初始化数组
  12. 力扣417题太平洋大西洋水流问题
  13. HDU 1083 Coures(二分图匹配)
  14. HQChart使用教程29-走势图如何对接第3方数据2-最新分时数据
  15. 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践
  16. 2023年房地产融资模式研究报告
  17. Ubuntu 20.04.1 LTS 安装XMind8
  18. hadoop基础----hadoop实战(二)-----hadoop操作hdfs---hdfs文件系统常用命令
  19. Shell开发环境vim编辑器的配置文件vimrc的参数优化
  20. Win10下配置IIS并调试PHP程序

热门文章

  1. linux下日志查看命令
  2. 【Java】122. 买卖股票的最佳时机 II-----简单代码实现发杂问题
  3. CAMx-Python/smoke/mcm
  4. 华为secoclient客户端安装
  5. Auto病毒清除方法
  6. 运筹学 五、运输问题
  7. 导航栏个人中心增加宽度RiProV2主题美化日主题美化Ritheme主题美化
  8. 用turtle画路飞
  9. CDSS十年回望及未来展望
  10. 公式符号类型pdf转word为什么乱码了,怎么调整?