这一天午休刚休息完,财务经理就喊我:“***,我们找个会议室聊聊”。我是一脸茫然,心里想着,我跟他也没什么私下的工作交流啊,能聊啥呢,还要找个会议室?究竟是什么事情呢?有点懵,不管了,拿个记事本带上笔就跟过去了。
到了楼下会议室,推开门一看,供应链经理早就坐在里面的。什么情况?感觉气氛好像还有点严肃。财务经理见人员就位了,直接开门见山:“根据**总和总部的要求,我们现在接到任务,要每天收集汇总关键运行数据,先要从系统里导出报告,然后。。。”,还没等财务经理说完话,供应链经理迫不及待了“你们IT直接帮我们把报表自动做完就可以了,我把数据源整理放到指定路径”。我大概知道是什么事情了,原来我之前帮供应链部门做了很多自动化的优化,现在他们把我推荐给财务部门了,打了个免费的实实在在的广告,供应链现身说法,这不是好事么?扩展业务支持范围了。我心中暗暗窃喜,弄呗,无非就是花点时间写个python小脚本。表面上我装作故弄玄虚的样子:”弄是可以弄,不确定能不能达到要求,而且也需要花费大量的时间“。供应链经理直接打了保票:”没问题的,肯定可以弄好。都是常规的操作,之前或多或少都涉及了“。好吧好吧,她比我还清楚。
经过了大概一个小时的需求收集,我大致对需求进行了分割,基本上心里有数了,大致的业务逻辑和涉及的Python技术点整理了一下。
自动报表业务逻辑如下:
涉及到的Python知识点如下:
- Openpyxl的基本操作,包括创建文件,填表,保存退出等,都是常规的操作,当然,读取指定区域的数据内容这个功能用起来还是比较方便的,不用整篇的从上往下读。
- Chinesecalendar这是一个云端的python库,用来计算工作日还是听方便的,就是这个库会定期更新,每年的假期不同,可以写个脚本设置每月1号自动更新,这样还是比较省力的,不用每次手工更新。
- Power Automate保存O365邮件附件内容至OneDrive, 这个有现成的模板,另外再设置一个用OneDrive与本地盘目录同步,这样可以把附件直接转存到本地硬盘,方便python读取邮件附件内容。
整体而言,这个自动化报表的难度不高,正如供应链经理所言,其实就是把之前弄过的一些方法改改就可以了,但是这样的自动化报表的象征意义大,业务部门会主动找上门了,不用咱去拼命的推广概念了,呵呵。