複雜報表的處理一直是國內報表市場的乙個重頭戲。從數年前中國報表概念被清晰的提出,國內廠家就紛紛提出了各種解決方案。經過幾年的沉澱,現在已經形成了幾個大的基本陣營。最近因為專案的原因,筆者有機會對各家報表產品做了乙個簡單的比較。
和幾年前相比,第一印象是每個廠家都針對複雜報表提出了一種解決方法。而歸納起來,這些方案大致可以分為三類:
1.任意擴充套件的類excel報表。
2.拖拽加拼排的結構化設計。
3.結構化和任意擴充套件混合型。
通過乙個excel的介面來做報表的設計應該不是乙個新的想法,但通過單元格的擴充套件和關聯來解決**內部的計算和排列卻是幾年前才出現的技術。潤幹大概是這個技術的鼻祖。如果你對這種設計思路不是很了解,搜一搜非線性報表就能找到很多資料。
任意擴充套件的報表設計方法最大的優點是它的靈活性。使用者可以通過每個單元格的指令碼進行簡單的計算和資料處理,然後通過單元格之間的關聯,進行分組和彙總等工作。但和傳統報表設計不同的是**不再有乙個固定的格式。最後的結果更是通過單元格的擴充套件,好像搭積木似的拼接起來。
這種解決方式應該來說是現今為止證明最完全的對複雜報表的解決方案。這也是這潤幹推出非線性報表技術之後,引得國內其它廠家紛紛效仿的原因。很多山寨版的工具甚至就把潤乾用的術語也直接照搬過去,
什麼報表多源分片,報表行列對稱等等。如果不看產品名稱,弄不好可能就把它們搞混了。
但這些山寨版軟體往往做得十分粗糙,而且功能十分單一。在比較的過程中我們也試用過e表和帆軟的工具。從功能上來講,這些模仿型的軟體其實給人一種可以亂真的感覺。潤幹所擁有的主要功能在它們的產品上也能打勾。但實際操作起來,感覺還是模仿得比較粗淺。而且在效能和穩定性上還是有差距。報錯的頻率明顯比潤幹高。
第二類解決方案是以傑表為代表的拖拽加拼排的方案。任意擴充套件**設計最大的缺點是學習和設計的難度。對於沒有很強程式設計功底,或數學不是很精通的人員,學習和掌握擴充套件和關聯的技術常常需要很長的時間。第二個難點是在報表設計完成之後,維護和理解別人的報表困難也很大。有一點像perl的感覺。寫起來感覺功能十分強大,但讀起來有點像天書。
傑表正是針對潤幹的這個缺點,創造出了乙個主要依靠拖放式的設計方式,加之一些使用者可以在**中新增和拼放其它陣列的功能,來解決複雜**的需求。從出發點上,傑表其實找到了乙個類excel報表軟體的最大軟肋。但它所提出的解決方案,在實際操作上感覺還是沒有任意擴充套件方式強大。當時沒有時間把所有典型報表在傑表中試做,但感覺功能限制比較大,就沒有繼續花時間研究。
第三種方案以stylereport為代表,採取拖拽和任意擴充套件相結合的方式。對於比較規則的**,使用者可以通過拖拽直接建立報表。不需要學習複雜的指令碼程式設計。如果**的複雜程度超過一般拖拽能夠解決的難度,使用者可以通過相似的任意擴充套件方式設計**。
這種解決方案在對複雜**的支援上基本可以達到和潤幹相當的水平。在易用性上,因為大部分報表可以通過拖拽直接建立,和潤幹相比也有乙個很大的提高。它最大的缺點是**設計有兩套機制。使用者需要學習兩種不同的設計方法。根據專案的具體需求和人員配置,這些優缺點哪個更重要就要自己判斷了。
當然,對複雜**的支援只是選擇報表軟體很多要求中的一點。如果是一次性的使用,我們可以只關注軟體和當前需求的匹配。如果是準備長期使用的軟體,就需要關注軟體總體設計思維和它長期的發展方向。這些方面在下文繼續討論。
複雜報表解決方案之比較
複雜報表的處理一直是國內報表市場的乙個重頭戲。從數年前中國報表概念被清晰的提出,國內廠家就紛紛提出了各種解決方案。經過幾年的沉澱,現在已經形成了幾個大的基本陣營。最近因為專案的原因,筆者有機會對各家報表產品做了乙個簡單的比較。和幾年前相比,第一印象是每個廠家都針對複雜報表提出了一種解決方法。而歸納起...
新聞列表解決方案
圖一 日期緊跟在標題後的新聞列表 圖二 日期整齊排列在右側的新聞列表 圖一的那種效果就不用說了,我們現在主要對圖二的效果提供幾種不同解決方案 html code 2010 07 30 css基礎 基本知識點梳理 然後就是設定日期span向右浮動,這種方法相信大家都會,就不用多說了。當然也有初學者把s...
表單資料分表解決方案
資料可以根據 對映表找到對應的資料表單 總開關設計 有乙個 總開關,開啟走 分表方案,關閉走不分表 新增租戶功能 提供乙個介面,新增租戶功能 刪除租戶功能 提供乙個介面,刪除租戶功能 資料的增刪改查 刪除資料 查詢資料 修改資料 對映表字段欄位名 說明id id主鍵 tenantid 租戶id fo...