几百万条的报表咋打印?

2023-10-17 11:38
文章标签 打印 报表 几百万

本文主要是介绍几百万条的报表咋打印?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

这篇关于几百万条的报表咋打印?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225099

相关文章

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

多线程解析报表

假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。 Way1 join import java.time.LocalTime;public class Main {public static void main(String[] args) thro

BIRT报表script

1.隔行高亮显示 1. 在布局(Layout)中,选择Table-Detail的行。如下图:   2. 然后选择Script,打开脚本窗口顶部的方法列表并选择onPrepare,如图所示。 var count=0;   3. 最后打开脚本窗口顶部的方法列表并选择 onCreate,如图所示: count++; if (count % 2 != 0) {   style.se

Birt报表开发实战

我就截图描述得了,没什么含金量,看图基本明白的。 1.开始 a.创建报表文件 b.数据源配置 c.配置数据集 2.网格报表 拖拉式操作,很方便 3.预览效果 其他报表的操作也基本不难,就不扯了! 2.级联参数 官方视频教程:http://demo.actuate.com/demos/cascade/cascade.html

BIRT--商业智能和报表工具,从零开始

1.简介 BIRT (Business Intelligence and Reporting Tools), 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 JavaEE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件。 2.下载 官网下载网址:http://download.ec

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

fastreport打印trichedit分页问题的解决

用fastreport来打印richedit里面的内容。刚开始放一个frxrichview组件到报表上,然后在 var str: TMemoryStream; begin    begin      str:= TMemoryStream.Create;      CurrRichRecord.richedit.Lines.SaveToStream(str);      str.Posit