幾百萬條的報表咋列印?

2021-10-07 08:21:07 字數 480 閱讀 6049

列印量這麼大的報表,印表機可能會吃不消。可以算算列印 100 萬行記錄是什麼情況。

假設一頁紙能列印 50 行記錄(這已經算多了),100 萬行記錄就意味著 2 萬頁紙。2 萬頁的連續列印,有多少印表機能做到這個指標?你的使用者真有這樣的裝置嗎?2 萬頁紙大概有 2 公尺厚,什麼印表機能把這些紙放進去?商用快速印表機一分鐘也就 30 幾頁,就按 50 頁 / 分鐘算,2 萬頁也需要 7 個鐘頭!作為乙個機械裝置能連續工作這麼久是不容易的。

當然,如果是實際業務需求還得實現,有兩種思路:

一、如果自己實現列印,因為列印和瀏覽不同,一般是從頭到尾過一遍就行了,過程中沒有翻頁的需求。這樣,只要流式讀入資料逐步生成列印頁就可以了,不會發生記憶體溢位的問題。

二、如果用報表工具,就要看看工具本身支不支援了,有的報表工具可以支援報表非同步分頁呈現、報表流式匯出、流式列印這些功能,直接用比較方便,像這個: 海量清單與分組報表的實現 ,目前測過幾百萬條的報表匯出列印都可以,更大資料量的要自己再測測了。

過去一年踩下的坑,價值好幾百萬

在商業戰略上覆盤有兩個好處。第乙個是找到亮點,對於可行的一些試點專案投入更多資源擴大規模。第二個是我們犯過什麼錯,犯過的錯誤能不能寫下來不再犯。今天就來盤點一下去年我們範下的那些嚴重錯誤 1.低估問題的難度 但是由於認知的問題,包括對於個人本身能力的認知以及對於問題的認知都決定了 外來人員 是很難在...

sql如何遍歷幾百萬的表 如何用SQL遍歷整張表

使用游標 使用表變數 使用臨時表 我的需求是 針對hr.employees表,新增一列fullname,並取值firstname lastname。需求是,新增一列fullname,取值firstname lastnamealter table hr.employees add fullname n...

過去一年踩下的坑,價值好幾百萬

在商業戰略上覆盤有兩個好處。第乙個是找到亮點,對於可行的一些試點專案投入更多資源擴大規模。第二個是我們犯過什麼錯,犯過的錯誤能不能寫下來不再犯。今天就來盤點一下去年我們範下的那些嚴重錯誤 1.低估問題的難度 但是由於認知的問題,包括對於個人本身能力的認知以及對於問題的認知都決定了 外來人員 是很難在...