众所周知word/WPS中的邮件合并功能可以根据word模板从excel表格中读取数据,进而生成不同的文件
但Excel却没有这个功能,如果需要根据excel表格模板生成不同文件的话,手动填写就显得很麻烦
举例:需对1、2图片模板表格的2个sheet中所有’{姓名}‘、’{案卷号}'修改为第3个图片表格的数据,按姓名保存为不同文件
使用程序读取数据excel表格,对固定模板excel表格指定内容进行替换,并生成文件,就是一个比较好的选择
实际使用中,模板excel表格中单个单元格内,可能有多个需要替换的内容,为便于使用,单独将字符串替换功能写为函数
将字符串string中所有与替换字典kwargs中key相同的字符串,替换为value优点:速度快;缺点:单元格赋值会改变单元格格式
方法1只能生成xls格式excel表格,如果需要生成xlsx格式,参考方式2
优点:单元格赋值不改变格式,缺点:较方式1速度太慢
对2种方式的文件生成速度进行测试:生成1500个文件,方式1用时12秒,方式2用时98秒
pywin32模块可以直接调用Excel程序,试验使用该模块实现以上功能
测试结果:由于运行太慢,只测试生成150个文件,却用时494秒
既然试验了pywin32调用Excel程序实现邮件合并功能,为什么不直接在Excel中使用VBA呢?
测试结果:生成1500个文件,用时338秒
主要介绍了基于python实现百度翻译功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。