油炸小可爱 SpreadJS 前端表格技术分享,硬核干货:葡萄城( 三 )
相较于传统的链式存储或数组存储 , 稀疏矩阵存储构建了基于行索引的数据字典 , 在松散布局的表格数据中 , 稀疏矩阵只会对非空数据进行存储 , 而不需要对空数据开辟额外的内存空间 。
这种特殊的存储策略 , 不仅节省了内存消耗 , 也使得数据片段化变得更加容易 。 利用SpreadJS , 可以随时框取整个数据层中的一片数据 , 进行序列化或反序列化 。
借助这个特性 , 开发者甚至可以随时替换或恢复整个存储结构中的任何一个级别的节点 , 实现高效的数据回滚和数据恢复 。
3.支撑复杂逻辑运算的计算引擎 , 实现稳定可靠的应用系统
当用户设置一个公式到表格中 , 计算引擎会将其解析为一个中缀表达式 , 如公式"SUM(A1:B1,3/E1,C1)+2*(D1-1)" , 当通过计算引擎的解析后 , 会在内存中以树型结构进行存储 , 这个树型结构被我们称为表达式树 。 表达式树的生成 , 是后续构建计算依赖链的关键 。
当一个公式被解析为表达式树后 , 计算引擎将根据运算上下文为其构建运算依赖链 。 运算依赖链的目的是为了按需计算 , 当表格内容发生变化时 , 只有被影响的表达式树会进行运算 , 而运算的依据就是依赖链 。
利用这样的机制 , SpreadJS大大提升了整个表格的运算速度 , 给用户更好的使用体验和更加精准的运算结果 。
除了绘制引擎、存储策略和计算引擎外 , SpreadJS还实现了更多技术细节 , 例如触摸支持、富文本支持、前端Excel导入导出、JSON存储等 , 而这些技术点 , 承载了葡萄城数年来在表格控件的开发技术和长期服务于开发者的经验积累 。
SpreadJS广泛应用于各行业企业信息化系统开发目前 , SpreadJS已广泛应用于各行业的信息化系统开发中 , 满足表格文档协同编辑、数据填报、类Excel报表设计等业务场景 , 帮助华为、苏宁易购、天弘基金、远光软件等各领域龙头企业 , 搭建出功能和布局均高度类似于Excel的软件系统 , 加速这类信息系统的交付 。
以华为勘验设计平台的系统搭建为例:
- 中安在线|【地评线】中安时评:“小可爱”为“大可爱”撑伞是节日最好的礼物
- 电竞小可爱|休闲娱乐玩什么?梦迹沙河第一选择!一起体会这绝妙的快乐
- 零食|其实有些是可以放心吃的!怀孕后最想偷吃的零食
- 油炸小可爱|打造个性vivo iQOO 3手机,时尚创意保护壳精选
- 狐机堂娇小可爱,像壹号本这样小笔记本,有人买么?
- 油炸小可爱|释放5G红利必须找到更多“杀手级”应用
- 油炸小可爱|光要多久才能到地球?
- 是小可爱|插足陈美琪与马清伟这段婚姻的第三者是谁?风流富商马清伟,心里应该最清楚
- 油炸小可爱|推特公布其安全事故起因 并彻底加强防范措施
- 青年微胖千万别乱穿!显胖又土味,尤其第3种