原創(chuàng)|其它|編輯:陳津勇|2019-10-11 16:48:39.920|閱讀 483 次
概述:SpreadJS——一個(gè)賦能開(kāi)發(fā)者的純前端表格控件,可以幫助開(kāi)發(fā)人員專(zhuān)注于產(chǎn)品的業(yè)務(wù)邏輯,而不用機(jī)械式的通過(guò)編碼實(shí)現(xiàn)數(shù)據(jù)基本處理。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
一般來(lái)說(shuō),企業(yè)的IT部門(mén)負(fù)責(zé)整個(gè)企業(yè)業(yè)務(wù)應(yīng)用程序的開(kāi)發(fā)和部署。而每一個(gè)新的應(yīng)用程序及系統(tǒng)的改動(dòng),會(huì)收到來(lái)自各個(gè)部門(mén)的各種要求,體量不大的IT部門(mén)有時(shí)候并不能很好、很及時(shí)地滿(mǎn)足這些需求。
最終就會(huì)形成IT部門(mén)難以跟上企業(yè)的業(yè)務(wù),同時(shí)身上積壓著超出他們承受范圍的工作等惡性循環(huán)。而業(yè)務(wù)部門(mén)等不及就開(kāi)始自己著手解決問(wèn)題,他們購(gòu)買(mǎi)未經(jīng)批準(zhǔn)的現(xiàn)成應(yīng)用程序或者自行制定解決方案。往往也不符合企業(yè)的IT標(biāo)準(zhǔn),并且經(jīng)常在組織間或在無(wú)法協(xié)同的系統(tǒng)間產(chǎn)生沖突,無(wú)形中成為桎梏企業(yè)業(yè)務(wù)的重大問(wèn)題。
在這種混亂中,一種減少重復(fù)工作,提升效率的工具——控件,悄然興起。
創(chuàng)建控件的最大意義在于封裝重復(fù)的工作,其次是可以擴(kuò)充現(xiàn)有控件的功能。
通俗的來(lái)說(shuō),控件就如同帶有魔法的積木一樣,只需要拿起來(lái)堆堆疊疊,就可以做出一輛小車(chē)、幾棵植物,建起一座城池。但它又與普通堆積木不同,用積木堆的小汽車(chē),再使用時(shí)還需要重復(fù)勞動(dòng),而控件則可以隨時(shí)隨地的初始化并可以通過(guò)接收參數(shù)改變自身屬性(顏色,尺寸等)來(lái)使用。
這些控件能給項(xiàng)目開(kāi)發(fā)和軟件交付帶來(lái)極大的便利。
而我們這次的故事的主角——SpreadJS,就是一個(gè)賦能開(kāi)發(fā)者的純前端表格控件。SpreadJS可以幫助開(kāi)發(fā)人員專(zhuān)注于產(chǎn)品的業(yè)務(wù)邏輯,而不用機(jī)械式的通過(guò)編碼實(shí)現(xiàn)數(shù)據(jù)基本處理,如增刪改查等。
SpreadJS是一款基于HTML5的純前端電子表格控件,以“高速低耗、高度類(lèi)似Excel、可無(wú)限擴(kuò)展”為產(chǎn)品特色,提供移動(dòng)跨平臺(tái)和瀏覽器支持,同時(shí)滿(mǎn)足.NET、Java、App等應(yīng)用程序中的WebExcel組件開(kāi)發(fā)、數(shù)據(jù)填報(bào)、在線(xiàn)文檔、圖表公式聯(lián)動(dòng)、類(lèi)Excel UI設(shè)計(jì)等業(yè)務(wù)場(chǎng)景,為用戶(hù)帶來(lái)親切的Excel使用體驗(yàn)。
小小的控件,大大的能量
設(shè)計(jì)控件是一項(xiàng)繁重的工作。比如它的特性之一兼容Excel就有很大的難度。
兼容Excel,也可以稱(chēng)之為微軟兼容性。
簡(jiǎn)單來(lái)說(shuō)就是,如果我們開(kāi)發(fā)別的軟件,只要把功能實(shí)現(xiàn)就好,不論中間怎么樣。比如播放視頻的軟件只要能播視頻就好,聽(tīng)音樂(lè)的能聽(tīng)音樂(lè)就好。但這個(gè)純前端的取代Excel的產(chǎn)品必須能夠正確讀取微軟的文檔。因?yàn)槲④汷ffice的市場(chǎng)占有率太高,如果不能兼容,意味著別人發(fā)來(lái)的文檔你打不開(kāi)。想象一下,你以前的文檔,你同事、合作伙伴發(fā)來(lái)的文檔,你都打不開(kāi)。如果他們要看你的文檔,得先裝對(duì)應(yīng)的軟件。這就好像你在微信之外,用另一個(gè)全新的聊天工具,你要找朋友聊天,得先讓他們安裝一個(gè)新的聊天工具。
而要實(shí)現(xiàn)這樣的兼容性,就需要與原有設(shè)計(jì)(文件格式設(shè)計(jì)會(huì)隱含著原來(lái)作者對(duì)程序Model的設(shè)計(jì))兼容,而微軟的Office并不是透明的。為了這個(gè)兼容,開(kāi)發(fā)者需要在黑盒模式下各種大膽猜測(cè)小心調(diào)試,還要承擔(dān)“只要有問(wèn)題就是你的問(wèn)題”的巨大壓力。同時(shí),背負(fù)上了帶著別人的歷史追趕別人進(jìn)步的重任。
而在目前Excel已有的480多種函數(shù)公式中,SpreadJS已經(jīng)支持450種以上。
具體講講幾個(gè)可以幫助開(kāi)發(fā)人員在自己的系統(tǒng)中實(shí)現(xiàn)Excel的功能:
貼近Excel的應(yīng)用
其實(shí),上面所講的Excel兼容性就是SpreadJS最令筆者驚喜的特性之一。因?yàn)楹芏嗥髽I(yè)的歷史數(shù)據(jù)等都是留存在Excel格式的文件中的,這種能夠直接導(dǎo)入和導(dǎo)出Excel文件的特點(diǎn)極大的方便了企業(yè)對(duì)留存數(shù)據(jù)的存儲(chǔ)、整理和應(yīng)用。
而且,作為控件,企業(yè)完全可以用SpreadJS完美嵌入到自己的OA、賬務(wù)、生產(chǎn)等系統(tǒng)中使用,輕松的將數(shù)據(jù)導(dǎo)出為指定模板的Excel文件,進(jìn)行復(fù)用。在筆者的試用中,不論從頁(yè)面還是功能都與Excel幾乎一致,要不是在Web端,筆者甚至以為自己在使用Excel。這將極大的減少企業(yè)員工的學(xué)習(xí)成本,極快上手。
而對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),在幫助企業(yè)進(jìn)行業(yè)務(wù)應(yīng)用設(shè)計(jì)時(shí),通過(guò)SpreadJS提供的類(lèi)似Excel模板設(shè)計(jì)器,可以輕松的設(shè)計(jì)模板,節(jié)約應(yīng)用程序開(kāi)發(fā)所需的時(shí)間和精力。僅用不超過(guò)100行代碼,就可以實(shí)現(xiàn)Excel的全部功能,各行業(yè)人員均可通過(guò) Excel 軟件制作表格,然后輕松導(dǎo)入SpreadJS中,提升模板復(fù)用性。
“公司的項(xiàng)目管理系統(tǒng)需要使用SpreadJS做一個(gè)通用的Excel模板設(shè)計(jì)器,將此前自定制的組件通過(guò)SpreadJS進(jìn)行集成,用拖拽的方式在SpreadJS的表格編輯器界面進(jìn)行展示和配置,以便生成一套能夠自行設(shè)計(jì)出數(shù)據(jù)填報(bào)、數(shù)據(jù)可視化甚至是BI的Excel 模板。”——天津卡達(dá)克數(shù)據(jù)有限公司
Form表單填報(bào)
填報(bào)就是提前設(shè)計(jì)好表單的樣式,在web端展示,分發(fā)給別人或者嵌入到別的軟件網(wǎng)頁(yè),來(lái)收集數(shù)據(jù),方便存入(數(shù)據(jù))庫(kù),就像注冊(cè)網(wǎng)站填入你的個(gè)人信息,發(fā)送到后臺(tái),同步到數(shù)據(jù)庫(kù)。
SpreadJS內(nèi)置桌面端和Web端的在線(xiàn)表格編輯器,支持用戶(hù)填報(bào)模塊。通過(guò)SpreadJS內(nèi)置的多種單元格類(lèi)型,如按鈕、單復(fù)選、下拉列表、單元格內(nèi)的公式引用、數(shù)據(jù)驗(yàn)證等均能有效的完成表單相關(guān)功能。這種提前設(shè)計(jì)好報(bào)表樣式收集數(shù)據(jù)入庫(kù),然后導(dǎo)出的方式,能省去很多工作量。
“SpreadJS表單控件主要應(yīng)用于本項(xiàng)目中各類(lèi)工資表格的展示、編輯和查詢(xún),最后用于匯總生成各類(lèi)報(bào)表并進(jìn)行展示。我們的體會(huì)是,使用SpreadJS我們可以輕松設(shè)計(jì)模板,節(jié)約應(yīng)用程序開(kāi)發(fā)所需的時(shí)間和精力。無(wú)需編碼,財(cái)務(wù)、人事管理人員均可通過(guò)Excel軟件設(shè)計(jì)界面,設(shè)計(jì)計(jì)算公式,然后輕松導(dǎo)入設(shè)計(jì)器或SpreadJS中,就可實(shí)現(xiàn)模板重用。這大大減輕了工作強(qiáng)度,使得快速開(kāi)發(fā)得以實(shí)現(xiàn)。SpreadJS加載速度快,對(duì)內(nèi)部管理系統(tǒng)無(wú)壓力。并且生成報(bào)表和網(wǎng)頁(yè)打印報(bào)表這些麻煩事兒,SpreadJS都很好的解決了!”——中國(guó)民用航空飛行學(xué)院
Gird表格數(shù)據(jù)處理
相比其他電子表格,SpreadJS提供更全面的內(nèi)置公式和自定義函數(shù),可針對(duì)大數(shù)據(jù)和復(fù)雜計(jì)算進(jìn)行優(yōu)化,即可為復(fù)雜的公式增加計(jì)算能力,又不會(huì)過(guò)多地占用系統(tǒng)資源。
而且,在進(jìn)行數(shù)據(jù)展示時(shí),不論是自動(dòng)排序、篩選、行表頭、列表頭、匯總、邊框和單元格樣式等功能,還是進(jìn)行分組、查找、聚合、公式等操作,SpreadJS均可滿(mǎn)足。
“SpreadJS是一個(gè)基于HTML5技術(shù)的純JavaScript控件,不但提供了更高的渲染性能和更流暢的界面操作,還通過(guò)一個(gè)高效的數(shù)據(jù)模型來(lái)快速操作數(shù)據(jù),使得載入和操作超百萬(wàn)行數(shù)據(jù)變得更為方便且快捷。”——中國(guó)能建安徽電建二公司
數(shù)據(jù)可視化
在企業(yè)進(jìn)行數(shù)據(jù)資產(chǎn)管理時(shí),很常見(jiàn)的一個(gè)任務(wù)就是數(shù)據(jù)可視化,這樣才能獲得關(guān)于數(shù)據(jù)的形象化展示。而SpreadJS除已完全兼容Excel的92種圖表外,還具備了更全面的商業(yè)智能分析(數(shù)據(jù)透視表)和更易于開(kāi)發(fā)使用的自定義擴(kuò)展能力,并實(shí)現(xiàn)了公式的完全自定義。同時(shí)已經(jīng)實(shí)現(xiàn)了諸多類(lèi) Excel 的內(nèi)置形狀,如線(xiàn)條、矩形、箭頭、流程圖,可以為前端界面添加更多的細(xì)節(jié)展現(xiàn)和可視化效果,并且這些內(nèi)置的形狀都可以無(wú)縫的進(jìn)行導(dǎo)入和導(dǎo)出。而即將在十月份推出的升級(jí)版新功能中,也將新增形狀(Shape)、富文本、二維碼以及多個(gè)新圖表類(lèi)型。
“通過(guò)SpreadJS‘可嵌入用戶(hù)操作系統(tǒng),開(kāi)發(fā)在線(xiàn)Excel’的產(chǎn)品概念,以及葡萄城純前端數(shù)據(jù)處理技術(shù)在各領(lǐng)域應(yīng)用中取得的核心成果,我們的技術(shù)專(zhuān)家無(wú)一不對(duì)葡萄城SpreadJS純前端表格控件新穎的設(shè)計(jì)理念和可靠的產(chǎn)品性能表示贊嘆。”——北京神舟航天軟件技術(shù)有限公司
SpreadJS高度類(lèi)似Excel的在線(xiàn)表格編輯器界面。
對(duì)于代碼能力不強(qiáng)的開(kāi)發(fā)者來(lái)說(shuō),僅通過(guò)簡(jiǎn)單拖拽點(diǎn)擊,就可以利用SpreadJS方便的實(shí)現(xiàn)表格模板設(shè)計(jì)、數(shù)據(jù)填報(bào)、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)管理、數(shù)據(jù)呈現(xiàn)等功能;而對(duì)于代碼能力較強(qiáng)的開(kāi)發(fā)者來(lái)說(shuō),SpreadJS提供源代碼,方便其進(jìn)行自由定制和任意擴(kuò)展。
這也是SpreadJS獲得了眾多客戶(hù)認(rèn)可的原因。
比如華為2012實(shí)驗(yàn)室。點(diǎn)擊查看《華為2012實(shí)驗(yàn)室與SpreadJS純前端電子表格控件背后的故事》
*想要獲得 SpreadJS 更多資源或正版授權(quán)的朋友,可以咨詢(xún)了解哦~
慧都網(wǎng)·1024程序員節(jié),DevExpress、MyEclipse、Axure RP、Aspose、FastReport等產(chǎn)品限時(shí)放“價(jià)”,給你專(zhuān)屬寵愛(ài)!點(diǎn)擊下方圖片查看活動(dòng)詳情↓↓↓
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn