轉帖|使用教程|編輯:龔雪|2021-08-23 10:00:08.440|閱讀 244 次
概述:本文主要為大家介紹前端電子表格技術實踐之內存,歡迎下載SpreadJS一起體驗~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在前端表格中,表格可以是松散布局的一種UI表達方式,它的最小描述單元是一個單元格,也就是我們常說的CellBase。
常用的數據結構有二維數組和對象數組,對于二維數組可以想象如果出現如圖所示的場景,一個表格2萬行,50列。如果在這個表格的第一個單元格和最后一個單元格輸入數據,可以想象一下即時只有2個單元格有內容他的內存占用仍舊會很大。
同時我們還可以想象另外一個場景,對于如圖的表格如果我們數據做了剪切操作,同時表格需要支持撤銷和回滾,對于以上兩種方式應該怎么去做?
利用前端語言的特性,實現了一組稀疏矩陣存儲模型(Sparse Array)。
相較于傳統的鏈式存儲或是數組存儲,稀疏矩陣存儲構建了基于行索引為Key的數據字典,在松散布局的表格數據中,稀疏矩陣只會對非空數據進行存儲,而不需要對空數據開辟額外的內存空間。
對于前面2萬行,50列的表格,存儲結構如圖所示。
使用這種特殊的存儲策略,使得數據片段化變得容易,可以隨時框取整個數據層中的一片數據,進行序列化或反序列化。
借用這樣的特性,我們可以隨時替換或恢復整個存儲結構中的任何一個級別的節點,以改變引用的方式高效解決了表格數據回滾和恢復。這一點也是電子表格支持在線協同的一個基礎。
另外,使用稀疏矩陣帶來了另一個優勢,在數據檢索遍歷時,無需判空,只要對有效數據校驗即可。
純前端表格控件SpreadJS,兼容 450 種以上的 Excel 公式,具備“高性能、跨平臺、與 Excel 高度兼容”的產品特性,備受華為、蘇寧易購、天弘基金等行業龍頭企業的青睞,并被中國軟件行業協會認定為“中國優秀軟件產品”。SpreadJS 可為用戶提供類 Excel 的功能,滿足表格文檔協同編輯、 數據填報、 類 Excel 報表設計等業務場景需求,極大的降低企業研發成本和項目交付風險。
本文轉載自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: