`

[请教]jxl生成xls时,支持"合并"或"磁盘缓存"吗(导出大数据量时)

阅读更多
jxl 由于其小巧 易用的特点, 逐渐已经取代了 POI-excel的地位, 成为了越来越多的java开发人员生成excel文件的首选.

但是由于长时间没有接触jxl了 对他的新版本不是很了解,
不知道能不能实现我下面的几个需求, 还请大家多帮个忙.

在生成excel时, jxl 的做法是在内存中构造出一个xls文件的对象
然后在最后write时生成最终的excel文件.
也就是说,在把excel所有的数据全部准备完毕(加入到那个xls的对象中) 之前,
这个超大对象一直是在jvm的内存中的, 这就导致大批量数据,如 100列10万行, 根本无法生成 OOM了.

我想问的就是,  jxl是否支持生成若干个小的xls文件, 然后合并的功能(基于磁盘的合并, 而不是全部读入内存 在合并,这种合并还是要占用大量甚至更多的内存的,对于解决我的问题毫无帮助)

或者是 能不能让它在最终生成excel文件之前, 就把一部分内容写入磁盘的临时文件中,从而保证对内存的占用量一直维持在比较低的水平?

如果都不支持, 那么我想问一下 ,大家是怎么导出超大数据量的excel的?


P.S.: 哪位英语好 能不能帮我把我的问题反馈给 jxl的作者呢?
我觉得从技术角度来讲 我的那两个需求应该是完全能都实现的.


分享到:
评论
5 楼 hetylei 2008-07-31  
如果我没记错 excel2000最大行数好像是65535

不知道10万笔数据是如何导入的?
4 楼 fins 2008-07-30  
这个我以前试过 , xls 的文件结构导致的不是那么容易做到追加数据的

不像是纯文本
3 楼 afacd 2008-07-30  
刚使用JasperReport产生excel做测试导出八万笔
结果也是挂掉了,JasperReport的excel有使用poi跟jxl

前一阵子处理JasperReport的大量数据产生PDF
资料量大概5~60万笔,是先产生swap file暂存档再产生成PDF

我想excel的大量数据短期应该很难实现
跟记忆体大小无关,主要JVM瞬间载入大量数据
就算AP分配记忆体很大,也都是会挂掉

看网路上有人用poi导入10万笔数据成功,应该也不是很稳定
我想解决方式就是暂存档、两个以上xls合并、或改写JDK
像IBM有自己的JDK,让他能暂缓瞬间载入

不用jxl、用ODBC方式分批写入xls不知道行不行

2 楼 fins 2008-07-28  
POI有基于jdk1.4 的 而且满足这个需求的 版本吗??

不用POI好多年了 

谢谢
1 楼 惊鸿逝水 2008-07-28  
根据你的需求,JXL是没办法满足的,好像POI倒是可以满足!

相关推荐

    导出Excel 支持大数据量导出

    在Java开发中,导出大数据量到Excel是一个常见的需求,特别是在数据分析、报表生成或数据交换等场景。"jxl"库是一个广泛使用的Java库,它允许开发者方便地读取和写入Excel文件。本篇文章将深入探讨如何使用jxl库实现...

    jxl实现excel大数据导出

    jxl实现excel大数据导出,26000条记录,测试导出时间是19s,例子不算复杂,没有excel样式的处理,可以自己扩展哈,有数据库文件,部署即可看到效果!!! 有三个功能:代码构建数据的导出、数据库数据的导出(从配置...

    jxl导出数据

    在"jxl导出数据"这个主题中,我们主要关注如何利用JXL库来导出数据到Excel格式,这对于数据处理、报告生成或者数据分析场景尤其有用。下面我们将深入探讨JXL库的使用方法、核心概念以及导出数据的步骤。 首先,JXL...

    JXL导出Excel数据表

    在IT行业中,数据导出是一项常见的任务,尤其是在数据分析、报表生成和数据共享的场景下。JXL库是一个Java库,专门用于读写Microsoft Excel文件,它为开发者提供了一种便捷的方式来处理Excel数据,无需依赖Microsoft...

    jxl模版生成excel

    JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可读取Excel数据并转换为Java对象。 **描述解析:** 描述中提到的"采用类似EL表达式的方式...

    jxl实现导出excel数据

    在Java编程环境中,导出Excel数据是一项常见的任务,特别是在数据处理、报表生成或者数据分析的应用中。JXL库是一个广泛使用的开源库,它提供了方便的方式来读取、写入和操作Excel文件。下面我们将深入探讨如何使用...

    [转]java struts2+jxl生成并导出Excel

    在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个简洁的API,使得这个过程变得简单。首先,你需要在项目中引入JXL库的依赖,通常通过Maven或Gradle来...

    数据导入导出xls(jxl)

    在IT领域,数据导入导出是一项基础且重要的任务,特别是在数据分析、报表生成和数据库管理中。本主题聚焦于使用Java库jxl进行XLS(Excel)文件的操作,包括创建、写入数据以及读取Excel文件内容。下面我们将深入探讨...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    jxl数据导入导出jxl数据导入导出jxl数据导入导出jxl数据导入导出

    - 如果数据量大,考虑分批写入或使用更高效的写入策略,以避免一次性加载大量数据导致内存压力。 通过以上解析,我们可以看到JXL库在处理数据导入导出时的灵活性和实用性,它简化了Java程序与Excel文件交互的过程...

    Excel导入导出 jxl及Poi 工具类

    导出时,从数据库获取数据,生成Excel文件。 为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中...

    java JXL导入导出Excel源码及jfreechart 生成折线图,饼图

    java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图

    Excel生成导出JXL和POI两种方式小demo

    然而,当需要大量生成或导出Excel文件时,直接使用Excel软件可能效率低下。此时,开发者通常会借助编程语言来实现自动化操作,Java中就有两个常用的库,即JXL和Apache POI,用于读写Excel文件。下面我们将详细探讨这...

    jxl.jar,excel数据工具类导出jar

    6. **性能优化**:在处理大量数据时,jxl.jar提供了流式处理模式,允许开发者按需读取或写入数据,避免一次性加载整个文件到内存,从而提高性能。 7. **示例代码**:在提供的链接...

    jxl方式生成excel表格.zip

    在IT行业中,生成Excel表格是常见的数据处理任务,特别是在数据导入导出、报表生成和数据分析等领域。本资源提供了一个利用jxl库实现Java程序中生成Excel表格的解决方案。jxl是一个广泛使用的开源Java库,它允许...

    JXL、POI实现Excel导入导出

    3. **高性能**:尽管POI比JXL更重量级,但其性能优秀,尤其在处理大数据量时。 ### 实现Excel导入导出 无论是JXL还是Apache POI,实现Excel导入导出的基本步骤相似: 1. **读取Excel**:创建工作簿对象,打开指定...

    jxl导出excel加水印.zip

    本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...

    java代码导出xls文件,jxl包齐全,有详细的解释

    总之,Java通过JXL库导出XLS文件是一种常见的数据导出方式,适合于各种业务场景,例如数据分析、报表生成等。这个压缩包可能包含了完成这一任务所需的全部代码和库,对于初学者来说是一个很好的学习资源,同时对于...

    jxl导出excel工具类

    在Java编程领域,导出Excel数据是一项常见的任务,特别是在数据处理和报表生成中。`jxl`库是一个广泛使用的开源库,它允许开发者方便地读取和写入Microsoft Excel文件。本文将详细介绍如何使用`jxl`库创建一个导出...

Global site tag (gtag.js) - Google Analytics