这几天在家用Python做了个简单的汇总excel文件的小程序,便于高效汇总项目信息,花更多精力在更重要的事务上。
所用的编程环境是VS Code和Qt Designer,用到的python模块主要涉及pandas,PyQt5,win32com,sys,os,re。
做完了工作当然要总结一下,便于今后更好的使用Python优化工作。
业务逻辑:
Record.xlsx:项目汇总工作簿,其中每条信息包含了一个含有超链接的“信息采集工作簿”。
Info_x.xlsx:信息采集工作簿(workbook),每个工作簿含有若干个信息表(worksheet)。
Summary.xlsx:需要将Record.xlsx中含有超链接的单元格中、取出对应的工作簿中的信息表内容,汇总在一张总结表。
如下图所示:
所以将业务逻辑分解成几个模块:
主程序
程序初始化:包含界面中的控件、配置内容加载、变量名等。
信息汇总与更新模块
- 显示Record.xlsx中的项目汇总信息,包括项目号、时间、项目状态及备注。
- 可对每条信息进行项目状态更新,包括On-going,Completed,Failed。
- 汇总后显示每个Info.xlsx中的关键信息,也包括每个关键信息的状态。
- 可通过界面操作,对每个汇总的关键信息进行修改,修改后对应的Info.xlsx中的信息被更新,汇总表也同时更新。
信息输出模块
可将汇总信息导出到Summary.xlsx文件,若Summary.xlsx中已存在旧的信息,则更新旧信息。
公用工程模块
会被其他模块共享调用的部分,本程序设计很少。
程序配置模块
主要是文件路径,文件名,关键信息位置等。这些信息便于后期表格有更新后,可以不用重新编译程序而继续使用。
界面模块
主要包含3个界面:主程序、信息汇总、内容编辑,都在Qt Designer编辑后转成*.py文件。