0 0

J2EE 大数据量报表导出5

对报表功能有个疑问,一般用户导出报表数据都是全部导出的吗?

系统现在有一个表,数据量为百万,用户筛选自己的数据后估计也有几十万,在页面显示当然通过分页显示了,如果用户要导出excel或pdf的话,是不是要把这几十万的数据全部导出啊?这么大的数据肯定很占内存,这个要怎么处理?

谢谢!!!
2013年2月24日 11:07

13个答案 按时间排序 按投票排序

0 0

采纳的答案

首先需要将任务放到队列中进行导出,或者先一个线程也可以了,
解决用户等待问题

可以用流导出到csv文件,当然也是要分文件,比如一个文件导出10w条

如果要导出到excel,可以采用poi,但是一个excel最好不要超出6万条,否则很容易报内存溢出,还是分文件解决大数量导出的问题

2013年2月25日 12:10
0 0

你可以用帆软报表试一下,帆软报表针对大数据分析服务都提供了优质的技术人员,你有什么使用问题都可以问他们

2015年1月28日 09:40
0 0

漫步算法试试

2013年2月26日 10:35
0 0

http://yu-zhang430.iteye.com/admin/blogs/1707375看看是不是你想要的

2013年2月26日 10:29
0 0

导出功能做成异步的,不要立即返回给用户,而是生成一个任务,告知用户完成时通知他即可。
生成的时候也不要用poi这些,非常占用内存,几百万的数据,生成csv格式,不停的append,性能还能过的去~

2013年2月25日 19:43
0 0

后台分批次导出,导出后用压缩导出文件,打包给用户进行下载

2013年2月25日 14:00
0 0

如果知道excel 文件格式 自己写个多线程写入。。。

2013年2月25日 10:40
0 0

几十万数据导入到一个Excel文件中,不太现实,即使你费劲巴拉的倒出来了,用户也不一定能打开。一般都是限制一个文件大小的,比如说一个文件倒几行。

如果是csv,建议直接用文本导出的形式倒出来,无非就是用逗号当间隔符。需要注意要将逗号等特殊符合转义,有个工具类可以用。

如果非要导出Excel的话,可以试试fastexcel。

2013年2月24日 23:19
0 0

几十万条数据一次性导出,是不现实,只能通过批次导出。

2013年2月24日 22:42
0 0

数据格式简单的用csv,写流。
数据格式复杂的,分批导出

2013年2月24日 15:31
0 0

分批导出可以,比如1000为一个段

2013年2月24日 14:29
0 0

分批导出,也就是提供用户选择导出
例如:第一批 1-4000,第二批 4001-8000。。。。这个梯度自己控制,
看你导出excel的列(我记得当时导出过十几列,4k多行)不是很卡
在这个过程中可以使用多线程的模式分批读取数据
例如:第一个线程负责读取1-4000行,把所有数据读取
第二个线程负责读取 4001-8000 行记录。。。至于用多少个线程自己测试吧
(虚拟 数据 的形式for循环来控制,看导出到多少行 会有明显卡 也就是最大行的瓶颈了,然后结合数据读取记录,这个过程可以考虑使用多线程)

至于导出excel选用的 poi,jxl,JXLS 自己选择一个方式导出
连接为demo地址
http://blog.csdn.net/csdnbenbenchong/article/details/7084419

2013年2月24日 12:21
0 0

我都建议这类方案是定时制度,即定时在某闲时输出。

动态筛选实时输出肯定是占用大量资源的。
除非可把任务分解。
即便如此,耗时也很久,失去用户在.线.等.待的意义。

2013年2月24日 12:16

相关推荐

    J2EE使用report绘制报表所用Jar包

    8. **内存管理和性能优化**:在处理大数据量报表时,需要注意内存管理,避免因数据过多导致的内存溢出。可以考虑使用流式处理或者分页加载数据。 9. **集成与部署**:将报表相关的Jar包添加到J2EE应用的类路径中,...

    J2EE项目开发Excel导出

    在J2EE项目开发中,Excel导出是一项常见的需求,特别是在数据管理和报告生成场景中,如资产管理、财务报表等。这个描述提及的示例提供了一个完整的解决方案,包括所需的Java类和依赖库(Jar包),帮助开发者实现从...

    JAVA报表解决方案源码

    9. **性能优化**:对于处理大数据量的报表,性能优化是必不可少的。源码可能会包含缓存策略、批处理查询、数据预处理等优化手段。 10. **集成与部署**:Java报表解决方案通常需要与现有应用系统无缝集成,如Spring...

    java的Excel导入导出源码

    此外,对于大量数据的处理,可能采用了分批读写、流式处理等优化策略以提高性能。 7. **说明文档**: 包含的“J2EE项目开发Excel导入导出操作组件源代码(附带说明文档)”很可能是项目开发的指南,详细解释了源码...

    15款报表工具的总结

    - **JMagallanes**:结合了静态报表、Swing pivot表格与图表功能的Java/J2EE OLAP与动态报表应用,兼容多种数据源,输出格式多样。 - **ART – A lightweight reporting solution**:轻量级、多平台、基于Web的报表...

    Fusioncharts导出图片所需jar包

    总的来说,`fcexporter.jar`和`fcexporthandler.jar`是FusionCharts在J2EE环境中实现报表图片导出的关键组件。理解它们的工作原理和使用方法,对于高效地开发和维护数据可视化应用至关重要。在实践中,开发者应结合...

    InforRepor报表工具白皮书

    7. **报表性能**:具有优秀的性能表现,尤其是在大数据量下的处理速度。 8. **其他指标**:包括安全性、稳定性等方面的考虑。 9. **功能列表**:详尽列举了InforReport的所有功能特性,包括但不限于上述提及的...

    Web报表开发技术-Eclipse Birt开发技术实例

    8. **性能优化**:对于大数据量的报表,可以考虑使用缓存、分页、数据聚合等策略提高性能。 总之,Eclipse Birt结合J2EE技术,提供了强大的Web报表解决方案。通过实例学习,开发者可以掌握如何在实际项目中运用Birt...

    java生成报表方法简介

    BIRT的报表可以导出为PDF、HTML、XLS和CSV等格式,同时还提供了图表和数据可视化功能。作为一个Eclipse项目,BIRT可以无缝集成到Eclipse IDE中,使得报表设计和开发过程变得更加高效。此外,BIRT还提供了JavaScript...

    javaweb Excel生成器

    它允许开发者通过传入URL或HTML表格数据来生成Excel格式的报告,极大地简化了报表导出的过程。这个工具特别适用于那些需要将网页表格内容导出为可编辑、可分析的电子表格的场景。 在J2EE环境中,开发人员经常遇到...

    java水晶报表很全面的文件

    2. **百分之百的Java嵌入式报表组件**:这是一个完全基于Java的报表引擎,允许开发者在J2EE应用服务器中嵌入并运行报表,以便动态呈现数据。 3. **Java查看器API**:允许自定义报表交互,如查看、深入、导出和打印...

    birt 报表 入门

    例如,你可以创建列表报表,展示数据的简单列表,随着数据量的增长,可以通过分组功能将相关数据组织在一起(如按客户分组的订单,按供应商分组的产品)。如果数据是数值型的,BIRT还支持轻松添加总计、平均值和其他...

    J2EEweb项目

    开发者可能使用JDBC(Java Database Connectivity)API来与Oracle数据库进行交互,执行SQL语句,实现数据的增删改查和报表导出功能。 SHH(Secure SHell)可能指的是SSH协议,用于远程登录和安全管理,确保数据传输...

    12个最好的开源报表工具.docx

    ### 开源报表工具概述 报表工具是现代数据分析和呈现的关键组成部分。它们帮助企业、组织和个人将复杂的数据转换成直观易懂的格式,以便更...这些工具不仅提高了报表开发的效率,还极大地简化了数据分析和展示的过程。

    WEB UI框架的成熟引领新的开发模式 JEECG(J2EE Code Generation)

    8. 报表封装:集成了Excel简易导出工具和Highcharts图形报表,方便了数据的展示和报表的生成。 9. Hibernate+Springjdbc组合使用:单表操作使用Hibernate处理,复杂SQL则采用Springjdbc,保证了操作的简便性和灵活...

    开源报表工具整理.docx

    JMagallanes是一个使用Java/J2EE开发的开源Olap和动态报表应用程序,结合了静态报表(JasperReports)、Swing Pivot Table(用于OLAP分析)和图表(JFreeChart)等功能。 **特点:** - **多功能集成:**集成了报表、OLAP...

    Birt报表开发

    3. **交叉表报表**:一种特殊的数据展示形式,可以按照两个维度展示数据,如季度销售额或网页访问量等。 4. **信函和文档报表**:支持创建各种文本格式的报表,如通知、信件等,这些文档可以包含文字、列表、图表等...

Global site tag (gtag.js) - Google Analytics