几百万条的报表咋打印?

Posted xiaohuihui-11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几百万条的报表咋打印?相关的知识,希望对你有一定的参考价值。

打印量这么大的报表,打印机可能会吃不消。可以算算打印 100 万行记录是什么情况。

假设一页纸能打印 50 行记录(这已经算多了),100 万行记录就意味着 2 万页纸。2 万页的连续打印,有多少打印机能做到这个指标?你的用户真有这样的设备吗?2 万页纸大概有 2 米厚,什么打印机能把这些纸放进去?商用快速打印机一分钟也就 30 几页,就按 50 页 / 分钟算,2 万页也需要 7 个钟头!作为一个机械设备能连续工作这么久是不容易的。

当然,如果是实际业务需求还得实现,有两种思路:

一、如果自己实现打印,因为打印和浏览不同,一般是从头到尾过一遍就行了,过程中没有翻页的需求。这样,只要流式读入数据逐步生成打印页就可以了,不会发生内存溢出的问题。

但这个做法仍然比较麻烦,特别是现代浏览器加强了安全控制,applet 等插件经常被禁用,而要采用 flash 或 PDF 方式来实现。用 flash 可以做到流式读取,但并不简单,还会导致插件与后台耦合性过高,影响安全性;而 PDF 方式就是一次性生成一个文档,没办法实现这种机制了。

二、如果用报表工具,就要看看工具本身支不支持了,有的报表工具可以支持报表异步分页呈现、报表流式导出、流式打印这些功能,直接用比较方便,像这个: 海量清单与分组报表的实现 ,目前测过几百万条的报表导出打印都可以,更大数据量的要自己再测测了。

以上是关于几百万条的报表咋打印?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决几百万条的消息队列!

IT部门全被裁?不懂业务,花了几百万开发的报表系统,根本没人看

几百万数据放入内存不会把系统撑爆吗?

Mysql分页优化

数据库中插入几百万条数据

hive 表造数据几百万条怎么快速生成