【案例分享】在 React 框架中使用 SpreadJS 純前端表格控制項

2020-12-20 CSDN技術社區

 本期葡萄城公開課,將由國電聯合動力技術有限公司,資深前端開發工程師——李林慧女士,與大家在線分享「在 React 框架中使用 SpreadJS 純前端表格控制項」的實戰開發經驗。

 

直播地址:http://live.vhall.com/723418543

直播時間:2019-07-03(星期三)下午 14:00

國電聯合動力技術有限公司於20076月成立,註冊資本3.13億元,擁有五個全資子公司及五個控股公司,總部位於北京,在全國設有多家生產基地。作為中國國電集團為發展中國綠色能源事業需要,解決風電關鍵、重大設備國產化問題而組建的高新技術公司,國電聯合動力技術有限公司為構建低碳和諧社會、鑄造值得信賴的國產風機品牌提供了強大的技術支持,公司主營業務包括風電機組設計、生產製造、研究開發、銷售服務等。

 

以下是本期公開課部分精彩導讀,更多內容還請預約觀看交流。

 

項目背景:

公司採購SpreadJS 純前端表格控制項,其主要應用場景是開發一套完善的日常業務流程管理系統,該系統以部門為單位劃分,每周由各部門填報人員,根據系統運行情況、日常運營數據等在系統中進行填報,後交由部門進行數據匯總,並在移動端/PC端系統頁面進行數據展示。

 

在採購SpreadJS 純前端表格控制項之前,公司使用excel進行數據匯總,無法保證各部門的數據流通及時、共享。在經過技術調研後,決定使用SpreadJS(該控制項的功能、布局和操作均接近原生Excel)開發業務流程管理系統。通過該系統,部門領導可以實時查看業務運行狀況並給予反饋意見,保證數據流通實時、有效。

了解更多 SpreadJS 純前端表格控制項:https://www.grapecity.com.cn/developer/spreadjs

 

選擇SpreadJS的主要原因:

1.     功能、布局與Excel高度一致,數據操作、使用習慣均接近原生Excel

2.     可在前端導入、導出 Excel 文件,且保持文件的最大完整性

3.     支持所有常見的Excel公式函數

 

本期公開課大綱:

1.     SpreadJS常用組件及其屬性

a.     SpreadSheets

b.     Worksheet

2.     渲染過程

3.     自定義數據驗證及Demo演示

4.     課程答疑

 

SpreadJS常用組件及其屬性

<SpreadSheets>

 

·       rowChanged:主要用於刪除整行觸發,需要判斷 propertyName 屬性

 

·       valueChanged:改變單元格值觸發

·  

·      rangeChanged:輸入公式、delete 刪除數據、移動單元格觸發

  workbookInitialized:初始化表格控制項,返回一個 spread 實例

 

 

<Worksheet>

 

·       dataSource:數據源

·       name:工作簿名稱

·      < Column>

……

 

渲染過程

1.     workbookInitialized返回一個spread實例,在init方法裡可以對options按需進行配置。有了spread實例後也就可以生成一個Excel實例對象,其中包含了常用的spreadspreadNS,以及自定義的一些常用spread方法,比如搜索功能、自適應高度等。

 

2.     從伺服器端獲取報表數據後,再根據報表保存的模板id獲取對應的表頭模板,渲染表頭時可以做一些前期工作,如定義選項類的單元格、定義單元格的格式、公式等。

 

3.     將報表數據賦值給Worksheet組件的dataSource屬性。

4.     渲染完畢。

 

自定義數據驗證及Demo演示

1.     數據驗證高亮樣式(Data Validation Highlight Style):SpreadJS 支持自定義數據驗證樣式和不同的單元格突出顯示類型,包括 circledogear icon

 

2.     數據驗證代碼

  

  

 

課程答疑Q&A

Q:為何數據量很小,但頁面加載時會出現卡頓

A:凡是涉及到表格重繪的地方最好都用 spread.suspendPaint() spread.resumePaint() 包裹起來,避免頻繁重繪引起卡頓。

 

 

Q: 如何渲染多重表頭?

AColumn組件尚未支持多重表頭,針對這個問題,可以在渲染表頭步驟時(此時已獲取到有樹形結構的表頭模板),先給表格setDataSource,獲取所有表頭模板的葉子節點後按列進行表單級別的綁定,然後通過操作表頭區域的賦值、合併單元格等操作手動渲染表頭。

 

 

Q:為什麼要引入表頭模板?

ASpreadJS中每一列的列頭顯示的是中文,但是實際上存取對應的是資料庫中的一個欄位,所以需要通過數據綁定把表格數據和欄位映射起來。其中模板在系統管理內另有維護入口,支持增刪改等基本功能。

 

 

 

關於葡萄城(https://www.grapecity.com.cn/)

賦能開發者!葡萄城公司成立於 1980 年,是全球領先的集開發工具、商業智能解決方案、管理系統設計工具於一身的軟體和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟體研發服務,並為中國企業的信息化提供國際先進的開發工具、軟體和研發諮詢服務。葡萄城的控制項和軟體產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用。

【免責聲明:CSDN本欄目發布信息,目的在於傳播更多信息,豐富網絡文化,稿件僅代表作者個人觀點,與CSDN無關。其原創性以及中文陳述文字和文字內容未經本網證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本網不做任何保證或者承諾,請讀者僅作參考,並請自行核實相關內容。凡註明為其他媒體來源的信息,均為轉載自其他媒體,轉載並不代表本網贊同其觀點,也不代表本網對其真實性負責。您若對該稿件由任何懷疑或質疑,請即與CSDN聯繫,我們將迅速給您回應並做處理。】

相關焦點

  • SpreadJS 純前端表格控制項應用案例:表格數據管理平臺
    SpreadJS 純前端表格控制項應用案例:表格數據管理平臺 2020年10月19日 13:05作者:黃頁編輯:黃頁 下面,讓我們一起來看看該公司是如何在「表格數據管理平臺」中應用表格技術,實現「類Excel報表設計」(https://www.grapecity.com.cn/developer/spreadjs/scenarios/excel-design)功能,從而構建出企業個性化行業應用、集成應用和複雜業務報表的。
  • SpreadJS 純前端表格控制項應用案例:在線問卷系統
    SpreadJS 純前端表格控制項應用案例:在線問卷系統 2020年10月16日 17:35作者:黃頁編輯:黃頁 下面,讓我們一起來看看該公司是如何在「在線問卷系統」中應用表格技術,實現「類 Excel 報表設計」(https://www.grapecity.com.cn/developer/spreadjs/scenarios/excel-design)與 Excel 文件導入導出的。
  • SpreadJS 純前端表格控制項應用案例:貨運代理客戶服務平臺
    SpreadJS 純前端表格控制項應用案例:貨運代理客戶服務平臺 2020年10月15日 18:05作者:黃頁編輯:黃頁 下面,讓我們一起來看看德迅(中國)是如何在「貨運代理客戶服務平臺」中應用表格技術,實現「類 Excel報表設計」(https://www.grapecity.com.cn/developer/spreadjs/scenarios/excel-design)功能與業務數據採集、分析和計算的。
  • SpreadJS 純前端表格控制項應用案例:風險指標補錄系統
    SpreadJS 純前端表格控制項應用案例:風險指標補錄系統 2020年12月21日 15:00作者:黃頁編輯:黃頁 這裡為了控制填報人員的填報權限,沒有使用在線表格編輯器,而是用了標準的 SpreadJS 表格控制項進行加載。
  • SpreadJS 純前端表格控制項應用案例:某計量檢測雲平臺
    >2.修改了編輯器的模板綁定方式,提供了固定的綁定項方便用戶直接點擊使用表格技術帶來的價值(選擇表格控制項SpreadJS的主要原因)1.設計精度大幅提升計量檢測行業對於檢定證書精確度的要求十分嚴謹,需要證書欄位不能有絲毫的偏差,利用純前端表格控制項SpreadJS,鯨控儀器實現了基於單元格級別的設計精度,使得在線設計證書模板
  • SpreadJS 純前端表格控制項應用案例:雨諾訂單管理系統(雨諾OMS)
    下面,讓我們一起來看看青島雨諾是如何在「雨諾訂單管理系統」中應用表格技術,實現「類 Excel 報表設計」(https://www.grapecity.com.cn/developer/spreadjs/scenarios/excel-design)與線下線上數據對接的。一、案例名稱:青島雨諾 – 雨諾訂單管理系統(雨諾OMS)
  • SpreadJS 純前端表格控制項 V12.2 發布更新
    SpreadJS 是一款基於 HTML5 的純前端電子表格控制項,以「高速低耗、高度類似Excel、可無限擴展」為產品特色,提供移動跨平臺和瀏覽器支持,同時滿足 .NET、Java、App 等應用程式中的
  • 【隆重發布】純前端表格控制項 SpreadJS V12.1
    純前端表格控制項 SpreadJS V12.1 已經正式發布,本次新版本中包含了諸多來自客戶反饋的重要特性,例如:狀態條(Status
  • SpreadJS 純前端表格控制項應用案例:金融業數據智能分析平臺
    下面,讓我們一起來看看北京海創是如何在「金融業數據智能分析平臺」中應用表格技術,實現「類Excel報表設計」與數據鑽取分析的。一、案例名稱:北京海創 - 金融業數據智能分析平臺數據智能分析平臺(DIP)中數據分析模塊的特點和主要功能:-語義分析環境,完全自助分析-基於 SpreadJS 在瀏覽器中實現了類Excel的拖拉式分析-支持常見的表格、交叉表、圖形、地圖等方式的展現和鑽取分析-提供靈活的數據權限設置和控制-可對分析結果二次分享四、項目截圖
  • 純前端表格控制項 SpreadJS V14.0 發布:組件化編輯器+數據透視表
    SpreadJS 是一款基於 HTML5 的純前端表格控制項,兼容 450 種以上的 Excel 公式,具備「高性能、跨平臺、與
  • 江山歐派攜手SpreadJS,用表格技術引領製造業數位化未來
    近日,江山歐派門業股份有限公司(簡稱:江山歐派)使用SpreadJS 純前端表格控制項和技術,將原本低效、落後的 Excel 管理模式一步遷移至雲端,打造純在線的數據管理系統,充分賦能企業數位化轉型。藉助SpreadJS前端表格控制項,江山歐派不再依賴於 Excel 等第三方應用軟體來管理內部數據,而是利用 SpreadJS 高度類似 Excel 的產品特性,為業務人員構建最為熟悉的數據分析和數據存儲系統,使得各部門之間的數據得以共享,讓數據整合不再成為企業數位化轉型的瓶頸。江山歐派所使用的SpreadJS究竟具備了怎樣的能力,才能在此類應用場景中有如此卓越的表現呢?
  • SpreadJS V11.2 新版本發布,全面支持 React 和 Vue
    高度類似,在表格數據處理上比 Grid 類控制項更為優秀,被開發人員譽為可嵌入系統開發的在線 Excel。近日,純前端表格控制項 SpreadJS V11.2 正式推出,全面支持 React 和 Vue,並提供了工作表區域偏移和 CSS 自定義分組等功能。本次更新的主要內容有:SpreadJS 全面支持 React 和 VueSpreadJS 現在支持與 React 和 Vue 框架一起使用,包括特定標籤及使兩者結合使用的元素和事件。
  • SpreadJS 全面支持 Angular2,V10.2 版本即將發布
    日前,純前端表格控制項 SpreadJS 發布了最新的CTP版本,在此版本中增加了對 Angular2 的支持以及一些 bug 修復。SpreadJS 純前端表格控制項是基於 HTML5 的 JavaScript 電子表格和網格功能控制項,提供了完備的公式引擎、排序、過濾、輸入控制項、數據可視化、Excel 導入/導出等功能,適用於 .NET、Java 和移動端等各平臺在線編輯類 Excel 功能的表格程序開發。Angular2 是一套完整的前端框架,用於構建移動應用和桌面 Web 應用的開發平臺。
  • SpreadJS 表格控制項發布 V11 版本,新增圖表及前端 PDF 導出
    日前,全球最大的控制項提供商葡萄城宣布,SpreadJS 純前端表格控制項正式發布V11 版本。SpreadJS是基於HTML5的JavaScript電子表格和網格功能控制項,適用於.NET、Java和移動端等各平臺在線編輯類Excel功能的表格程序開發。開發人員可利用SpreadJS,更好的顯示和管理類似 Excel 的數據,更方便的進行公式引擎、排序、過濾、輸入控制項、數據可視化、Excel導入/導出等操作。
  • 使用SpreadJS 實現 JavaScript 中導入和導出Excel文件
    JavaScript是一個涵蓋多種框架、直譯式、可以輕鬆自定義客戶端的腳本語言,在 Web 應用程式中,更加易於編碼和維護。SpreadJS,正是這樣一款功能布局與Excel高度類似,無需大量代碼開發和測試即可實現數據展示、前端 Excel 導入導出、圖表面板、數據綁定等業務場景的純前端表格控制項。
  • 純前端表格控制項SpreadJS以專注業務、提升效率贏得用戶與市場
    而就是這麼一個本身科技水平頗高的實驗室,在2018年選擇了純前端表格控制項——葡萄城SpreadJS作為其部門內部表格數據管理的工具。Why ?而我們這次的故事的主角——SpreadJS,就是一個賦能開發者的純前端表格控制項。SpreadJS可以幫助開發人員專注於產品的業務邏輯,而不用機械式的通過編碼實現數據基本處理,如增刪改查等。
  • 廈門科雲:構建基於 SpreadJS 的管理會計綜合實訓平臺
    為及時響應上述需求,廈門科雲推出了一套完全自主研發的管理會計綜合實訓平臺,該平臺基於 SpreadJS 純前端表格控制項搭建,內嵌高度類似 Excel 的布局和操作模式,使用者無需學習,即可立即使用。 三、實際使用情況 為落實「1+2+2」的培養方向,即1個培養目標(向管理會計人才轉型的目標)、2個培養點(管理視角+核算技能)、2個培養模塊(基礎教學資源培養、企業案例應用培養),堅持以「向管理會計人才轉型」為導向,以管理會計實務工作的範疇、基本方式和實務內容為開發依據,平臺包含的系統設計模塊與管理會計課程完全匹配,可以幫助學生快速成長為具有
  • 葡萄城首席架構師:前端開發與Web表格控制項技術解讀
    下面,是本期公開課的核心內容,更多精彩分享,請點擊此處觀看。Web表格控制項 —— SpreadJS誕生記 SpreadJS的誕生即在意料之外,又在情理之中。 自1996年中國全功能接入網際網路起, 人們對Web產品的期望愈發殷切。
  • React Status 中文周刊 #26 - Aleph:基於 Deno 的 React 框架
    以及使用諸如 AWS CDK 之類的自動化工具,你可以在 React 應用中實現和部署兩種服務端渲染方案。ComeauAleph:基於 Deno 的 React 框架 — Node.js 的創始人 Ryan 創造了 Deno 來彌補「他對於 Node 感到遺憾的 10 件事」。如果你感興趣,那就閱讀本文,快速上手。