七叶笔记 » golang编程 » golang语言来定时生成xls报告

golang语言来定时生成xls报告

项目中出现一个新的开发任务,需要每天(每月)定时统计系统中出现的报警,统计成excel文件,发给运维人员。

去年,主要用nodejs来完成类似的任务。excel文件做成使用ejsexcel,定时任务使用的是node-schedule,邮件推送使用的是emailjs,数据库读取使用的是knex+mysql,另外周边使用了ali-oss将报告推送到oss。其中,ejsexcel在针对excel文件做成的时候,最大的优点是可以使用模板,这样程序本身关注数据的读取设定,而模板关注于各种单元格的样式。Knex可以使用原生的sql语句,在多源数据库的对应方面做得也很完善。只是最后没有找到便捷的办法来生成pdf文件。

查了一下golang中针对这些内容的必要库。可以使用excelize来生成excel文件,其中还可以在excel中生成相关的分析图,通过使用gomail来推送邮件,robfig/cron来做定时任务,gorm来读取数据库相关内容。折腾一下,使用golang的这些库来做上述的报告任务。两方面比较一下相关的便捷性。

相关文章