功能背景
報表大到一定程度,必然會記憶體溢位,此時比較好的解決辦法似乎是邊算邊輸出。分頁計算標籤是產品部自己做的,利用報表組來實現的逐頁計算逐頁輸出的tag標籤。
實現原理
把報表根據每頁展現行數,以及從資料庫裡獲取的最大行數,分成n頁,然後把所有頁的報表定義組成乙個報表組,利用報表組實現了逐頁計算逐頁輸出功能。
此tag標籤可以實現展現、翻頁、列印、匯出都是逐頁計算逐頁輸出的。
需要注意的是:
1、 當頁數太多時,報表組的定義本身會導致記憶體溢位,因為生成的報表組定義是存在記憶體裡的。比如我們做過試驗,5000萬條記錄,每頁20條,則在1g記憶體情況下記憶體溢位
了。2、 匯出txt檔案時,我們採取往檔案裡追加的方式,所以基本沒問題;但是匯出word、pdf、excel的時候,都是先在記憶體裡生成乙個word、pdf、excel檔案的裝載類,然後再
由這個裝載類統一輸出到檔案裡,當資料量太大的時候,這個裝載類本身會導致記憶體溢位。
3、 授權檔案必須支援報表組的功能。
4、目前提供兩種分頁標籤,一種是比較舊的report:exthtml,一種是比較新的report:autobig.建議使用autobig,因為這裡面做了一定優化且增加很多方便的使用方法.
潤幹報表分頁標籤 顯示第幾頁和共幾頁
在潤幹的報表使用當中,如果遇到海量資料的清單式列表,那麼在讀取 展現及匯出過程中可能會出現速度過慢 記憶體溢位 系統宕機等問題。因此,潤幹報表提供了分頁計算exthtml標籤。這個標籤擴充套件了原html標籤的功能,實現了以頁為單位對資料進行讀取和展現及匯出等操作,大大降低了記憶體占有量,提高了執行...
潤幹報表效能管理之集群快取同步功能
功能背景 目前伺服器的集群,經常使用session同步的功能,在這種情況下,允許同乙個客戶端,第一次訪問a機器,第二次跳轉到b機器繼續訪問,伺服器會自動把a機器產生的session的內 容複製到b機器上,使得訪問正常進行,從而實現伺服器之間負載更加均衡。潤幹報表的快取是在硬碟上做的,於是當客戶端第一...
潤幹報表效能管理之表示式預解析
功能背景 由於單元格是擴充套件的,設計時只有乙個單元格,運算後,可能擴充套件出n個單元格。如果在單元格擴充套件前先對表示式進行解析,把能夠算出來的部分先算,或者需要引用的變數先進行 定位,就不需要在擴充套件後重複的運算n遍,或者對變數定位n次。舉例 1 表示式中的常量計算 某個單元格中的表示式為 5...