Spreadjs与GcExcel
GcExcel VS SpreadJS
前言
报表系统前端化,释放后端压力,调高前端研发产能,但随着报表系统的数据量的增加,浏览器的限制,前端报表已达到瓶颈,用户使用体验逐渐不友好,为解决这一问题,找到新的解决方案,所以写下此篇对比
两者分别是什么?
SpreadJS 是一款基于 HTML5 的纯前端电子表格控件,兼容 450 种以上的 Excel 公式,兼具 “高性能、跨平台、与 Excel 高度兼容”的产品特性。相关资料《SpreadJS》
GcExcel 是一款基于 Java 和 .NET 平台的服务端高性能表格组件,提供后端批量创建、加载、编辑、打印、导入/导出 Excel 文档的功能。相关资料《GcExcel》
两者对比前提
SpreadJS运行于浏览器运行Node.js,由于Node.js是基于V8引擎来执行JavaScript的,因此它的js也是基于事件机制的非阻塞单线程运行,其文件的I/O都是异步执行的,而Node.js之所以选择单线程的方式是因为编码简单、开发难度低、对"码农"码农的心智消耗相对较小;而且它的文件I/O是异步执行的,所以不需要像Java那样需要创建、回收线程,这方面开销较小。但是,单线程在做复杂运算方面相比多线程则没有任何优势,也无法利用多线程来有效调配多核CPU进行优化,因此在Node.js中运行SpreadJS就只能是单线程JS,这也会影响SpreadJS 的数据处理性能。