各产品和项目存在大量的报表下载需求,各项目组团队存在以下痛点:
1. 各团队单独编写下载逻辑;
2. 需要花大量时间去编写生成复杂 excel 版式的逻辑;
3. 大部分项目都采用的同步下载方式,报表数据量大了就会导致超时、内存溢出等问题;
为此,我们开发独立的、统一的下载中心系统,实现:
1. 为各项目团队提供简单、统一的 API 接口实现 excel、csv 文件的下载;
2. 支持生成复杂的 excel 模板,调用者只需要通过 json 指定需要的 excel 模板结构,下载中心即可生成对应的 excel 版式;
3. 支持异步下载,从而能够下载大批量数据。下载中心根据调用方提供的数据源 url 异步、分页拉取源数据并缓存到本地文件,然后再生成 excel。数据量过大时,下载中心会自动进行拆分、归档、压缩;
4. 支持多表格模式:一个 excel 中可以生成多个 tab,每个 tab 中可以生成多个报表;