上海佳軟 - 優化多人協作,SpreadJS+GcExcel構建無縫協同系統
“表格技術應用的最大難點在于不依賴第三方軟件,在Web系統上實現Excel的功能。如果能基于表格實現多人協同編輯,在線實現各部門對同一張數據表的錄入,一定會給表格相關的系統開發帶來巨大的便利。”
——劉立兼 上海佳軟信息科技有限公司 CTO
一、客戶簡介
上海佳軟信息科技有限公司(以下簡稱上海佳軟)是一家追求務實的科技公司,希望通過小而美的軟件產品,為用戶解決核心需求。公司堅信,只有真正好用的工具才能贏得市場的口碑。
二、項目背景
隨著網絡信息化的發展,各類業務系統、表單系統、報表系統、分析系統和數據庫等相繼誕生,大數據處理和高性能要求是這類系統的普遍特征。對于這類系統而言,其數據格式、儲存和使用方式都有不同的規則和要求,這迫使系統開發者不得不同時維護多套系統,手動錄入各項數據,如此重復、低效的工作,已然成為企業信息化發展的短板。
為什么經過多年的發展,數據反而越來越分化,越來越難以被大眾所使用了呢?
早在二十多年前,Excel就已憑借強大的公式、條件、圖表和語言,讓科學家們以一種自由、開放、可按需而變的方式使用數據。如今,我們為何不可以用互聯網的思維方式,重新演繹Excel對數據自由的探索方式,為其賦予新的價值,讓應用數據不再受系統、環境、操作系統的限制呢?
基于這個原因,上海佳軟推出了雷鳥365在線表格文檔系統,這是一款有著Excel強大功能、允許多人實時協作編輯的產品。雷鳥365的出現讓Excel聯網成為可能,只需要導入本地文件,即可實現多人共享編輯文檔,還可以設置訪問修改權限。
三、使用GcExcel解決多人協作的沖突難點
在系統中,當兩個人在同一時間修改文檔中的內容時,會導致修改完之后雙方看到的結果是不一樣的,這就是常說的沖突,為了解決這一問題,通常有以下三種解決方法:
1.嚴格一致性(獨占),同一時間同一范圍只能由一人操作表格:
GcExcel提供全功能的API接口,可以幫助雷鳥軟件輕松控制Excel電子表格的各種對象和屬性,同時還能進行細粒度的設置,例如工作表和單元格級別的鎖定。
2.最終一致性( 檢查與修復),基于唯一正確順序,察覺客戶端的錯誤,撤銷錯誤操作后重新執行正確的操作:
基于協作邊界分流和P2P+選舉算法,雷鳥軟件根據服務器回執id查看是否存在亂序現象,如果存在亂序現象,使用SpreadJS+GcExcel實現的撤銷功能,可以將內容回退到亂序前的數據,并重新進行隊列保存,保證雙方看見的內容的一致性。
3.設計與提示(協作設計):
GcExcel支持 450 多種 Excel 公式,可以根據公式的計算和校驗功能設計協作區域,如果出現內容校驗不一致的情況,GcEexcel對相應的數據單元格進行鎖定,從而在源頭上避免了沖突的發生。
四、項目截圖
1.多人在線編輯發票和付款匯總表
2.自主配置系統權限
3.企業、團隊文件共享系統
五、選擇GcExcel 的主要原因
上海佳軟的平臺相關負責人表示,使用GcExcel的價值主要體現在:
速度快、性能高:GcExcel 在處理 Excel 文檔時,消耗的內存和占用時間,遠超企業級項目標準。 與 POI 相比,速度更快、性能更高、內存消耗更少。
全功能的API接口:GcExcel 提供了全面、詳細的 API 接口,可以幫助輕松地控制 Excel 電子表格的各種對象以及屬性、甚至單元格級別進行設置。
與Excel高度兼容:GcExcel 可無損導入/導出 Excel 文件,包括其中的數據透視表、表格、圖表、注釋、條件格式、數據驗證、公式、形狀、圖片和迷你圖。