电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python生成word合同的實例方法

瀏覽:3日期:2022-06-30 09:22:47

在企業招聘中,最重要的事情,就是需要簽訂勞動合同,但是有些大的公司,因為人員過于,在設置編輯合同的時候,比較耗時耗力,編程存在的意義,就是幫助我們實現辦公自動化,因此能實現自動生成合同,還是非常重要的,下面小編就來采用函數以及面向對象過程,教大家實現生成合同過程。

1、模板文件

甲方公司、乙方人員姓名、乙方部門、乙方職位、甲方人員姓名、乙方人員姓名、時間(年月日),如圖所示。

python生成word合同的實例方法

2、實現代碼

from docxtpl import DocxTemplateimport osimport pymysqlimport timecur_path = os.path.dirname(__file__)tempfilename = os.path.join(cur_path, ’template’, ’勞動合同模板.docx’)today = time.strftime('%Y-%m-%d', time.localtime())def query():try:# 數據庫連接,返回數據庫連接對象conn = pymysql.connect(host=’localhost’, user=’root’,passwd=’123456’, db=’test’, port=3306)cur = conn.cursor()sql = ’select * from t_person_info’cur.execute(sql)result = cur.fetchall()return resultexcept Exception as e:print(e)finally:conn.close()def build_hetong():result = query()for x in result:tpl = DocxTemplate(tempfilename)context = {’firstparty’: ’燈塔教育’,’secondparty’: x[1],’department’: x[15],’job’: x[16],’owner’: ’龍卷風’,’name’: x[1],’sj’: today}tpl.render(context)savefilename=os.path.join(cur_path,’build’,x[1]+’勞動合同.docx’)tpl.save(savefilename)if __name__ == '__main__':start = time.time()build_hetong()end = time.time()sj = end-startprint(f'花費時間(秒):{sj}')

3、輸出結果

python生成word合同的實例方法

實例擴展(批量WORD合同生成)

導入數據庫

#導入對應數據庫import numpy as np import pandas as pd import os import docxfrom docx.shared import Ptfrom docx.oxml.ns import qn#修改項目文件地址os.chdir(r’C:UsersWIN7Desktop分期賬單自動化’)os.getcwd()

全部代碼:

’’’人民幣數字轉大寫漢字’’’# coding: utf-8import warningsfrom decimal import Decimaldef cncurrency(value, capital=True, prefix=False, classical=None): ’’’ 參數: capital: True 大寫漢字金額 False 一般漢字金額 classical: True 元 False 圓 prefix: True 以’人民幣’開頭 False, 無開頭 ’’’ if not isinstance(value, (Decimal, str, int)): msg = ’’’ 由于浮點數精度問題,請考慮使用字符串,或者 decimal.Decimal 類。 因使用浮點數造成誤差而帶來的可能風險和損失作者概不負責。 ’’’ warnings.warn(msg, UserWarning) # 默認大寫金額用圓,一般漢字金額用元 if classical is None: classical = True if capital else False # 漢字金額前綴 if prefix is True: prefix = ’人民幣’ else: prefix = ’’ # 漢字金額字符定義 dunit = (’角’, ’分’) if capital: num = (’零’, ’壹’, ’貳’, ’叁’, ’肆’, ’伍’, ’陸’, ’柒’, ’捌’, ’玖’) iunit = [None, ’拾’, ’佰’, ’仟’, ’萬’, ’拾’, ’佰’, ’仟’,’億’, ’拾’, ’佰’, ’仟’, ’萬’, ’拾’, ’佰’, ’仟’] else: num = (’?’, ’一’, ’二’, ’三’, ’四’, ’五’, ’六’, ’七’, ’八’, ’九’) iunit = [None, ’十’, ’百’, ’千’, ’萬’, ’十’, ’百’, ’千’,’億’, ’十’, ’百’, ’千’, ’萬’, ’十’, ’百’, ’千’] if classical: iunit[0] = ’元’ if classical else ’圓’ # 轉換為Decimal,并截斷多余小數 if not isinstance(value, Decimal): value = Decimal(value).quantize(Decimal(’0.01’)) # 處理負數 if value < 0: prefix += ’負’ # 輸出前綴,加負 value = - value # 取正數部分,無須過多考慮正負數舍入# assert - value + value == 0 # 轉化為字符串 s = str(value) if len(s) > 19: raise ValueError(’金額太大了,不知道該怎么表達。’) istr, dstr = s.split(’.’) # 小數部分和整數部分分別處理 istr = istr[::-1] # 翻轉整數部分字符串 so = [] # 用于記錄轉換結果 # 零 if value == 0: return prefix + num[0] + iunit[0] haszero = False # 用于標記零的使用 if dstr == ’00’: haszero = True # 如果無小數部分,則標記加過零,避免出現“圓零整” # 處理小數部分 # 分 if dstr[1] != ’0’: so.append(dunit[1]) so.append(num[int(dstr[1])]) else: so.append(’整’) # 無分,則加“整” # 角 if dstr[0] != ’0’: so.append(dunit[0]) so.append(num[int(dstr[0])]) elif dstr[1] != ’0’: so.append(num[0]) # 無角有分,添加“零” haszero = True # 標記加過零了 # 無整數部分 if istr == ’0’: if haszero: # 既然無整數部分,那么去掉角位置上的零 so.pop() so.append(prefix) # 加前綴 so.reverse() # 翻轉 return ’’.join(so) # 處理整數部分 for i, n in enumerate(istr): n = int(n) if i % 4 == 0: # 在圓、萬、億等位上,即使是零,也必須有單位 if i == 8 and so[-1] == iunit[4]: # 億和萬之間全部為零的情況 so.pop() # 去掉萬 so.append(iunit[i]) if n == 0: # 處理這些位上為零的情況 if not haszero: # 如果以前沒有加過零 so.insert(-1, num[0]) # 則在單位后面加零 haszero = True # 標記加過零了 else:# 處理不為零的情況 so.append(num[n]) haszero = False # 重新開始標記加零的情況 else: # 在其他位置上 if n != 0: # 不為零的情況 so.append(iunit[i]) so.append(num[n]) haszero = False # 重新開始標記加零的情況 else:# 處理為零的情況 if not haszero: # 如果以前沒有加過零 so.append(num[0]) haszero = True # 最終結果 so.append(prefix) so.reverse() return ’’.join(so)

到此這篇關于python生成word合同的實例方法的文章就介紹到這了,更多相關如何使用python生成word合同內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: python
相關文章:
主站蜘蛛池模板: 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 盘古网络技术有限公司| 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 数字展示在线_数字展示行业门户网站 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 南京和瑞包装有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 安徽泰科检测科技有限公司【官方网站】 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 建筑工程资质合作-工程资质加盟分公司-建筑资质加盟 | 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 |