“借助GcExcel开发的在线的Excel文件管理平台,实现了多种订阅文件的格式转换和批量文件的导入导出,简化了证监会、央行、中基协等公司的报送业务的流程。”

——某大型基金公司


一、项目背景

某大型基金公司是一家以基金产品为主营业务的公司,其产品涵盖不同类型的基金,包括股票型基金、混合型基金、债券型基金、货币市场基金和REITs等,以满足不同投资者的风险偏好和需求。

为了能够提供更加专业的投资管理服务,企业通过不断引进和创新管理理念和技术手段,努力提升投资管理的水平和质量,例如:

1、文档在线化:在数据填报、监管报送等业务场景下存在大量Excel操作的工作,通过开发在线Excel文件管理平台,实现文件的共享、版本记录等,提升工作效率。

2、高效协同与自动化:在协同办公方面,往往存在多个部门协同来进行数据填报的情况,如何实现高效协同是面临的挑战之一。

3、业务与技术高效互动:对于监管报送类业务,可通过可视化的方式增强业务数据与系统的联通,提升业务人员与技术人员的互动性,提升协作效率。

(通过技术创新改善企业现有的流程及规范)


二、系统功能介绍

为了解决业务中遇到的问题,企业将SpreadJS+GcExcel引入到数字化转型的基础中,通过SpreadJS+GcExcel实现在线Excel的使用,涵盖的使用场景包括:监管报送、数据解析、数据订阅等。

支持在线Excel:

利用SpreadJS实现在线Excel文件管理平台,且具备文件分享(管理、只读、读写)、共享、版本记录、数据解析入库,文件订阅后自动发送(订阅中心)等能力。

监控报送:

通过指标树拖拉形成报送模板。同时,可以在系统中配置勾稽规则和报送形式。当勾稽不通过时,会在Excel中高亮显示错误单元格和对应的错误信息。该模块能够支持证监会、央行、中基协、蚂蚁等基金会的报送业务需求。

数据订阅:

数据订阅是指用户通过应用前端页面配置好Excel,系统后端(GcExcel)实现对文件格式的转换,同时,按照用户配置的调度时间和频度,将报表自动推送给用户的功能。


三、使用GcExcel解决的关键技术痛点

1、使用报表平台实现批量文件的导入导出

需求背景:在进行批量文件I/O操作时,前端的性能可能会受限,导致系统响应变慢。为了减轻前端的负担,需要将批量导入导出文件工作交给后端来处理。

解决方法:使用GcExcel的导入导出功能可以有效地解决前端的压力,相比于前端而言,GcExcel拥有更为强大的性能,同时通过进行二次开发,还可以利用 GcExcel构建专门的导出服务,以满足高并发量下的导出需求,下面分别是GcExcel在导出不同数量的PDF文件和Excel文件所需要的时间。

导出不同数量PDF文件的时间:

导出不同数量Excel文件的时间:

2、使用报表平台实现数据订阅功能:

需求背景:根据时间和频度设置定时任务,将Excel报表以多种文件形式自动推送给用户。

解决方法:在系统中通过GcExcel和SpreadJS的搭配使用实现前台配置,后台使用的模式。同时,通过GcExcel的文件转换能力和水印添加能力把Excel文件转化成为PDF、PNG等其他格式的文件。除此之外,GcExcel能够提供更好地性能,相对于使用selenium等方案来讲,使用SpreadJS与GcExcel的方式能够提供更高的文件处理性能。

3、使用报表平台实现数据推送:

需求背景:用户导入Excel后,系统能够保存各种样式和格式,并将动态数据替换为与指标中心对接的数据,然后再通过自动化程序实现自动发送Excel、图片和Html。

解决方法:利用GcExcel对原生Excel的支持能力和API,成功实现了对Tableau、DaVinci等BI平台导出的Excel进行格式转换,同时提供了用户友好的数据推送技术接口。


四、使用GcExcel带来的价值

相关项目负责人表示,使用GcExcel的价值主要体现在:

(使用GcExcel带来的价值)

1、与 Excel 高度兼容

系统可无损导入/导出 Excel 文件,包括其中的数据透视表、表格、图表、注释、条件格式、数据验证、公式、形状、图片和迷你图。

2、类Excel全栈解决方案

将 SpreadJS + GcExcel结合使用,可在不依赖 Office、POI 和第三方软件的情况下,满足在线文档的前后端数据同步、在线填报与服务端批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等功能,为您开发的应用程序提供整套类 Excel 全栈解决方案。

3、高性能、低开销:

GcExcel在处理 Excel 文档时,消耗的内存和占用时间,远超企业级项目标准。

4、全功能 API 接口:

GcExcel提供了非常全面、详细的 API 接口,可以轻松地控制 Excel 电子表格的各种对象以及属性、甚至单元格级别进行设置。