分享一款前端報表控件ActiveReportsJS V2.0
自2019年第一個版本發(fā)布以來,ActiveReportsJS 純前端報表控件的每個新版本都觸動人心,不斷突破前端技術(shù)限制,為前端報表領(lǐng)域提供更多新的功能。近日發(fā)布的ActiveReportsJS V2.0 Update2 是2021年的第二個SP 版本,支持通過代碼動態(tài)創(chuàng)建報表,大幅提升了報表設(shè)計能力。
1. 在代碼運(yùn)行時創(chuàng)建報表
眾所周知,ActiveReportsJS 的報表模板本質(zhì)上是遵循既定規(guī)范的JSON 字符串,在V2.0 Update 2 之前,如果您想在運(yùn)行時修改報表模板或者生成報表文件,需要了解報表的JSON 結(jié)構(gòu)并且修改JSON 字符串。如果僅修改某一些節(jié)點的屬性值,此方法暫時可行,但對于動態(tài)構(gòu)建表格或者矩表來說,整個工作會變得非常復(fù)雜。
作為專業(yè)的報表開發(fā)工具,為了讓開發(fā)人員用起來更加自由可控,ActiveReportsJS V2.0 Update 2開放了報表結(jié)構(gòu)的 TypeScript 聲明,開發(fā)人員可以在Visual Studio Code 中根據(jù)智能提示功能,用代碼動態(tài)創(chuàng)建報表。

2. 更加易用的表達(dá)式編輯器
ActiveReports JS V2.0 Update 2版本中更新了表達(dá)式編輯器界面,比原來的版本,更加方便和易用。
舊版函數(shù)編輯器:函數(shù)全部列在左側(cè),當(dāng)您想看一下某個函數(shù)的使用方式時,無法通過查找,快速定位到該函數(shù)。
新版函數(shù)編輯器:將函數(shù)單獨(dú)分離出來,并且增加搜索功能,您能夠更快的搜索到該函數(shù)的使用方式,更加方便易用。
3. 引入 ES模塊
ES 模塊為使用Vite.js等工具的開發(fā)者提供了更高性能的應(yīng)用開發(fā)能力。在ActiveReportsJS V2.0 Update2中,所有的npm包都開放了原生ES模塊,采用ES6本身支持的模塊化語法。這樣一來,只要瀏覽器支持ES6的模塊化,您就不用再費(fèi)時間和精力去進(jìn)行編譯和打包,可以讓項目工程體積更小、build更快。
4. 更豐富的圖表類型
ActiveReportsJS V2.0 Update 2 為大家?guī)砹诵碌膱D表類型——雷達(dá)圖,共支持四種類型:
折線雷達(dá)圖面積雷達(dá)圖散點雷達(dá)圖氣泡雷達(dá)圖
5. 自適應(yīng)表格寬度
根據(jù)實際業(yè)務(wù)場景的不同,使用“表格”控件展示數(shù)據(jù)時,您可能會需要根據(jù)用戶權(quán)限來控制每列的可見性。如:人力資源管理報表中薪資一欄,對高級決策者可見,對普通員工為隱藏。這個時候開發(fā)通常會使用 ActiveReportsJS提供的報表參數(shù)功能,接收用戶身份信息后,動態(tài)控制每列的可見性。但列隱藏后,頁面就會留下已隱藏列的空白,用戶觀感不佳。V2.0 Update2實現(xiàn)了自適應(yīng)表格寬度功能,剩下的列可自動調(diào)整適寬,匹配紙張的寬度。
6. 靈活控制頁面報表每頁運(yùn)行時可見性
頁面報表常用于創(chuàng)建制式報表,是對報表格式要求嚴(yán)格、布局要求精確的報表類型。頁面報表非常適合創(chuàng)建類似Word報告類的報表,因為其遵守了分頁的設(shè)計模式。然而創(chuàng)建報告類報表時,開發(fā)者往往需要根據(jù)數(shù)據(jù)結(jié)構(gòu)動態(tài)創(chuàng)建。有些報表頁如果數(shù)據(jù)為空不顯示,如果有數(shù)據(jù)則顯示,從而實現(xiàn)動態(tài)批量生成Word報告。
ActiveReportsJS V2.0 Update 2 版本增強(qiáng)了頁面報表的頁可見性屬性設(shè)置,可動態(tài)控制每頁的可見性。該屬性非常好的解決了上述類Word報告動態(tài)生成的需求。
7. 增強(qiáng)富文本框控件-增加圖像標(biāo)簽
在之前的版本中,ActiveReportsJS提供了富文本控件,支持在報表中渲染HTML 代碼、HTML字段。V2.0 Update 2持續(xù)增強(qiáng)了富文本的功能,為富文本控件增加了img標(biāo)簽。
8. 矩表設(shè)計向?qū)г黾右绘I百分比計算
矩表,是中國式復(fù)雜報表的核心數(shù)據(jù)控件。ActiveReportsJS內(nèi)置矩表設(shè)計向?qū)В蓜?chuàng)建中國式復(fù)雜報表、數(shù)據(jù)透視表、動態(tài)行列報表,深受開發(fā)者好評。V2.0 Update2對其易用性做了進(jìn)一步提升,增加了一鍵快速計算組內(nèi)及組外百分比功能。

我們從以下三個方面,對比純靜態(tài)和偽靜態(tài)兩種靜態(tài)頁面生成方式,逐一展開分析。
用JS的正則表達(dá)式如何判斷輸入框內(nèi)為中文或者是英文數(shù)字,或者是三者混編
css制作扇形
純CSS3文字Loading動畫特效
PhpStorm 2022.1 EAP 3 在 PHPDoc 和屬性中添加了對多行和嵌套數(shù)組形狀的完全支持:在這種情況下,可以使用數(shù)組形狀注釋定義數(shù)組結(jié)構(gòu),以獲得鍵的代碼補(bǔ)全并推斷值的類型。
PHP作為Web界第一大語言近年來熱度不夠,但是這幾年的進(jìn)步和成長卻沒有中斷。在2022伊始,我們來一起學(xué)習(xí)一下目前PHP的現(xiàn)狀以及最新版本帶來的特性。
Linux程序前臺后臺切換:在Linux終端運(yùn)行命令的時候,在命令末尾加上 & 符號,就可以讓程序在后臺運(yùn)行Ubuntu$">root@Ubuntu$ ./tcpserv01 &
Python 的正則表達(dá)式支持 多行模式,將每行文字分別匹配。然而各種操作系統(tǒng)里,換行符的表示法各不相同,會導(dǎo)致 Python 不能正確使用多行模式。