`
JavaCrazyer
  • 浏览: 3011871 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

JAVA开发中POI和JXL区分

阅读更多

java操作excel表格,以前只知道POI。POI是apache公司的一个子项目,主要是提供一组操作windows文档的Java API。

 还有个JXL(java excel AIP),也是个开源项目


自从 MS 公开了 OFFICE 的编码格式以来,很多开源的组织都提供了对 Excel 支持读写操作的插件包。Java 世界里,Apache应该算是开源世界中的领头羊。他的Jakarta Project 中的 POI Project 就提供了对OFFICE的完美支持(不过最近好像他对Word的支持项目已经停止,而且公开在网站上圈人呢 ^^ ,如果你对Word文件的编码格式非常熟悉,可以发封邮件哦!)。JXL ,Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。

Jakarta 的 POI Project 与 Java Excel API 在开源世界中可以说是并驾齐驱,但是也各有优劣,poi在某些细节有些小Bug并且不支持写入图片(poi其实可以写入图片,不过没有jxl来的方便,比较麻烦),其他方面都挺不错的;而JXL提供了对图片的支持(但是仅仅支持png格式的图片),问题就是对公式支持不是很好,但还是提供了简单的公式读取支持。因此你的项目中要选用什么样的第三方插件为完全由你的应用来决定。如果你的软件是跟财务有相当的关系的话,建议采用 POI Project,如果用不到计算公式,而且很可能需要导出图片,可选择JXL 。

就这两者的区别,主要谈下JVM虚拟机内存消耗的情况.
数据量3000条数据,每条60列.JVM虚拟机内存大小64M.
使用POI:运行到2800条左右就报内存溢出.
使用JXL:3000条全部出来,并且内存还有21M的空间.
可想而知,在对内存的消耗方面差距还是挺大的.
也许是由于JXL在对资源回收利用方面做的还挺不错的.
关于两者效率方面,没有研究过,我想这个也是基于大数据量而言的,数据量小的话基本上差别不大,也不难被发觉.但是大的数据量,POI消耗的JVM内存远比JXL消耗的多.但相比提供的功能的话,JXL又相对弱了点.所以如果要实现的功能比较复杂的情况下可以考虑使用POI,但如果只想生成一些大数据量可以考虑使用JXL,或者CSV也是一个不错的选择,不过CSV并不是真正的excel.

对excel的基本操作
jxl:最基本的excel api
poi:也是基本api,读取2M文件的时候没有jxl效率高,优点是能保持Excel里原有的宏(但不能用它写新的宏)。

分享到:
评论
1 楼 jinfengmusic 2011-07-11  
 

相关推荐

    POI与JXL的实战性能对比

    以下是对JXL和POI在实际项目中性能表现的一些分析: ##### 数据量处理能力 - **JXL**:由于其支持的Excel版本限制,JXL更适合处理不超过65535行的小型文件。对于大规模数据处理,JXL可能会遇到行数限制或内存溢出...

    Java通过POI和JXL给Excel动态添加水印

    通过以上步骤,我们可以实现在Java程序中使用JXL和POI库给Excel文件添加动态水印的功能。这种技术不仅适用于企业内部的文档管理,还可以用于任何需要保护文档版权和安全性的场景。希望这篇教程能够帮助到有类似需求...

    java操作excel——jxl和poi比较

    总的来说,jxl适合快速开发和简单需求,而Apache POI则更适合需要处理复杂Excel特性的场景。选择哪个库取决于你的项目需求和性能要求。在实际应用中,可以通过对比jxltest.xls和poitest.xls的结果,进一步了解这两个...

    java开发Excel所需 poi jxl两种jar包

    本文将深入探讨两种常用的Java库:Apache POI和JXL,它们都提供了处理Excel文件的能力。 Apache POI是Apache软件基金会的一个开源项目,它提供了一个强大的API,允许Java开发者读取、写入和修改Microsoft Office...

    java使用poi包和jxl包操作excel的心得

    Java作为一款流行的企业级开发语言,提供了多种工具来操作Excel文件,其中最为常用的当属Apache POI与JXL这两个开源库。 #### 二、Apache POI简介 Apache POI是一个用于读写Microsoft Office格式文件的Java API,...

    poi和jxl jar包

    在Java开发中,处理电子表格数据,特别是Excel文件,是一项常见的任务。Apache POI和JXL是两个流行的库,它们允许开发者用Java语言读写Microsoft Excel格式的数据。在这篇文章中,我们将深入探讨这两个库,以及如何...

    java读取excel文件POI+jxl

    在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...

    poi,jxl架包

    总结来说,Apache POI和JXL是Java开发中处理Excel文件的强大工具。POI全面支持Excel的新旧格式,功能强大,适合复杂场景;而JXL则以其简洁的API,适合处理.xls文件。在文件上传的场景下,根据实际需求选择合适的库,...

    POI和JXL两种方式导出EXCEL

    在Java开发中,导出Excel文件是常见的需求,主要用于数据报表、数据分析等场景。本话题将探讨使用Apache POI和JExcelApi(JXL)两个库来实现这一功能。这两种库都是Java中广泛使用的处理Microsoft Office文件格式的...

    poi 和 jxl

    另一方面,`poi-bin-3.17-20170915.zip`是Apache POI的一个二进制发行版,包含了运行和开发所需的类库文件。为了使用这两个库,你需要将它们添加到你的Java项目类路径中。 在实际应用中,你可以利用Apache POI和JXL...

    Java通过POI和JXL给Excel动态添加水印.docx

    Java通过POI和JXL给Excel动态添加水印.docx

    Java通过POI和JXL给Excel动态添加水印.pdf

    Java通过POI和JXL给Excel动态添加水印.pdf

    poi和jxl相关jar

    jxl,poi-3.7-20101029,poi-examples-3.7-20101029,poi-ooxml-3.7-20101029,poi-ooxml-schemas-3.7-20101029,poi-scratchpad-3.7-20101029

    poi和jxl架包

    标题 "poi和jxl架包" 提到的两个主要组件是Apache POI和JExcelApi(通常简称为JXL)。这两个都是Java库,专门用于处理Microsoft Office格式的文件,特别是Excel电子表格。让我们深入了解一下这两个库及其在处理Excel...

    java poi jxl 操作excel的小例子

    Java POI 和 JXL 是两种常用的 Java 库,用于处理 Microsoft Excel 文件。在这个入门级的实例中,我们将探讨如何使用这两个库来操作Excel文件。首先,我们先了解一下这两个库的基本概念。 1. **Java POI**: - ...

    poi,jxl.jar

    Apache POI是一个流行的Java库,允许开发者创建、修改和显示Microsoft Office格式的文件,尤其是Excel工作簿。而JExcelAPI(jxl.jar)则是另一个用于读写Excel文件的Java库,它在早期广泛被使用,但在Apache POI出现...

    poi以及jxl相关的jar包下载

    Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000的所有版本(网上说目前可以支持Excel2007了,还没有尝试过) 生成Excel 2000标准格式 支持字体、...

    struts2+poi+jxl

    在Java中,POI提供了一组API,使得开发者能够轻松地创建、修改和处理Excel工作簿、工作表以及单元格的数据。这在数据处理、报表生成或数据分析等场景中非常有用。 JXL则是另一个用于读写Excel文件的Java库,相比POI...

Global site tag (gtag.js) - Google Analytics