
企业日常工作中需要制作大量的报表,比如商品的销量、销售额、库存详情、员工打卡信息、保险报销、办公用品采购、差旅报销、项目进度等等 , 都需要制作统计图表以更直观地查阅 。但是报表的制作往往需要耗费大量的时间,即使复用制作好的报表模版,一次次周期性对数据的复制粘贴操作也很耗人,同时模版在此过程中也会逐渐变得面目全非 。

基于此 , 我们需要挖掘数据背后隐藏的关联信息,将人工的常规性操作抽离出来,使用工具和代码去实现,这个过程就称之为报表自动化 。葡萄城表格技术产品 纯前端表格控件 SpreadJS 和 服务端表格组件 GcExcel 高度兼容 Excel,可不依赖任何第三方组件实现 Excel 文档的导入导出,并提供类 Excel 的使用体验 , 可满足自动化报表中报表模板的批量处理、批量修改、数据汇总、批量浏览、打印、转换等各项功能开发需求 。

报表自动化的优势
报表自动化带来的价值有哪些呢?1、节省时间,提高效率
身处信息爆炸的时代 , 任何一家企业都有体量庞大、结构复杂、各种各样的数据,多类数据交互融合,对其进行分析经常伴随着大量人力资源的消耗 。自动化报表通过合理的设计,独立出各个业务功能模块,后续重复引用该模块 , 实现重复操作的代码复用 。

对于固定流程或逻辑的一些操作,计算机的执行速度是人力不可及的,为我们节省了时间 , 可以投入更有意义的工作 。
2、降低出错率
人工操作总是受太多不可控因素影响,存在各种出错的潜在可能 。与之相比,自动化意味着通过编码手段实现了持久化的逻辑、流程 , 经过重复的测试验证之后,便可完全信任该程序 。在重复性的工作场景下机器产出的稳定性远高于人工操作 。

3、时效性高
日报、周报、月报这种周期性的报表,人为操作很难控制时间的准确性,但是通过代码控制可以最大程度地保证其定点触发操作 。

系统功能点
1. 任务配置灵活:支持根据业务需求 , 通过界面操作控制任务的启停状态,任务对应生成的文件类型等 。2. 报表模版设计自由:业务人员可根据对应任务配置的预览数据自定义报表模版,然后将其保存生效 。
3. 前端预览:支持从前端预览报表详情 。
4. 定时发送:定时生成报表文件并将其同步到微信群 。
5. 支持多种类型:支持Excel、PDF、图表等文件类型的报表格式 。
6. 数据自动抽取:动态读取数据库中的数据生成报表 。
7. 模版和数据独立存储:使用在线表格设计器编辑模版,存储时只保存模版,数据从数据库加载 。
四、方案设计
1、整体流程
报表自动化的起点是能对接数据源,期间能自动化的生成事先设计好格式的报表 , 最终通过企业微信自动推送消息 。具体流程可以分为3个步骤:
1. 报表模版设计:借助SpreadJS的在线表格编辑器设计模版 。
2. 对接数据源:从数据库中读取数据,动态适配数据模版 。
3. 自动化过程实现:利用定时任务,定时捞取数据,借助GcExcel生成对应类型的文件,通过对接企业微信的API , 将文件同步到微信群 。
2、技术栈
后端:Java GcExcel mysql Quartz
3、具体实现
3.1 数据库表设计
