`
tendy
  • 浏览: 47783 次
  • 来自: ...
社区版块
存档分类
最新评论

jxls的bug

    博客分类:
  • java
阅读更多

jxls 主页:http://jxls.sourceforge.net/index.html

最近需要用到 jxls (版本0.9.3),使用模板生成 excel 文件,模板内容如下:

xml 代码
  1. <jx:forEach items="${students}" var="s">               
  2. <jx:if test="${s.sex == 'F'}">             
  3. ${s.name}   ${s.age}    女   ${s.birthday}   
  4. </jx:if>               
  5. <jx:if test="${s.sex == 'M'}">             
  6. ${s.name}   ${s.age}    男   ${s.birthday}   
  7. </jx:if>               
  8. </jx:forEach>              

当数据量很少的时候,例如 20 条数据,效率上是没问题的

但如果有 100 条数据,效率就非常低了,

100 条数据用了 3 秒左右,实在无法忍受

电脑配置:CPU  P4 3.0G , 内存 1G。

而且,excel 文件的行数不是 100 行,而是 600 行,其中后 500 行是空白行

如果数据有 2000 行,那么空白行数是 10000 行......

经多次测试,发现在 jx:forEach 循环中

使用 jx:if ,jx:outline 之类的 tag,会出现空白行

如果这些 tag 占用的行数是 rows,

那么空白行的数目大概是:rows * 循环次数 + false 条件产生的行数

 

那么,把 jx:if 标记去掉呢?

10000 条数据用了 8.4 秒左右,5000条数据大概是 4.6 秒,还可接受,而且没空白行。

 

看来 jxls 的 if tag 效率非常低

要生成大数据量的 excel 文件,还是不用这个 tag 了

分享到:
评论

相关推荐

    官方jxls-2.4.1

    jxls-2.4.1相对于早期版本可能包含了一些修复的bug、增强的功能或者优化的性能。为了确保最佳的稳定性和兼容性,建议始终使用最新版本的Jxls。 **示例代码** ```java InputStream templateStream = new ...

    jxls2.3 官网最新下载

    **Jxls库详解** Jxls是一个Java库,用于简化Excel电子表格数据的处理。它将Java集合、POJO(Plain Old Java Object)或其他数据源与Excel模板结合,自动生成复杂的Excel报告。标题“jxls2.3 官网最新下载”指的是你...

    jxls自己写的简单实例

    **Jxls简介** Jxls(Java Excel Templates)是一个开源库,它允许开发人员使用Java POI库和模板Excel文件来生成动态的Excel报告。这个工具极大地简化了在Java应用程序中生成复杂Excel表格的过程,尤其适合那些需要...

    jxls包——jxls-1.0.1.zip

    jXLS是一个小而易用的Java库,它用于根据XLS模板文件生成Excel数据文件,或者根据XML配置文件从Excel文件中读出数据。 jXLS的功能是:只使用几行代码就可以建立极端复杂的Excel报表。你所需要实现的大部分工作是...

    jxls1.0-2.0官网示例

    《深入理解jxls:从1.0到2.0的演进与应用》 jxls是一款基于Java的库,它允许开发者通过使用Java编程语言和模板技术来动态生成Excel工作簿。这个库极大地简化了从Java对象到Excel表格的数据转换过程,尤其在处理复杂...

    jxls2.0支持合并单元格

    jxls2.0支持合并单元格和合并单元格模板写入数据,jar包里已经包含了pom.xml,可以自行解压方便上传到maven私服,这种方式会带上依赖,否则要一个个手动添加依赖.pom在jar包里jxls-core\2.0\jxls-core-2.0\META-INF\...

    JXLS 2.4.0 官方源码例子

    JXLS是一个强大的Java库,用于处理Excel工作簿,它允许开发者使用模板方式来生成和读取Excel数据。2.4.0版本是其一个重要里程碑,提供了更多的功能和改进。这个压缩包“jxls_2.4.0_examples”包含了官方提供的示例...

    jxls 所有的jar包

    Jxls是一个强大的Java库,它允许用户通过使用普通的Excel模板来生成复杂的Excel报告。这个压缩包文件包含了所有必要的jar包,使得开发者无需依赖Maven或其他构建工具,可以直接在项目中集成Jxls。以下是对Jxls及其...

    jxls源码+API+示例代码

    **jxls** 是一个强大的Java库,用于处理和转换Excel工作簿。它允许开发者通过使用简单的模板语言在Java应用程序中动态地填充Excel表格。jxls结合了Apache POI库的功能,使得开发者能够轻松地实现复杂的数据导出和...

    jxls-core_1.rar

    【标题】"jxls-core_1.rar"是一个包含修改过的jxls核心库的压缩文件,目的是使其兼容Apache POI 4.0.0及其以上版本。jxls是一个Java库,它扩展了Apache POI库的功能,允许用户通过使用简单的Excel模板来导出数据到...

    jxls poi jxls-2.2.9.zip

    jxls-2.2.9是该库的一个特定版本,可能包含了某些新特性、改进或修复的bug。 **jxls主要功能** 1. **模板转换**:jxls允许你在Excel模板中使用Java表达式,这样可以动态地计算值并填充到单元格中。 2. **数据绑定*...

    用Jxls实现数据导入excel实例

    Jxls是一个强大的库,它简化了Java应用程序与Excel工作簿之间的交互,使我们能够方便地进行数据导入和导出。本文将详细介绍如何使用Jxls实现数据导入Excel的实例。 Jxls库的核心功能在于提供了一种声明式的方式来...

    jxls 2.3.0

    - jxls 2.3.0 版本相对于早期版本可能包括一些性能提升、bug修复以及新的功能添加,具体改进可以通过查看官方发布日志来获取详细信息。 总的来说,jxls 2.3.0 是一个强大的工具,用于生成和处理Excel文件,尤其...

    很好的jxls例子

    Jxls是一个Java库,用于将数据从Java对象转换到Excel工作表,使开发者能够方便地创建动态和复杂的Excel模板。这个“很好的jxls例子”压缩包包含了一个名为“jxlsjar”的文件,很可能是Jxls库的JAR包,这通常用于在...

    JXLS测试工程

    **Java JXLS测试工程详解** Java JXLS是一个基于Apache POI库的开源框架,它简化了在Java应用程序中生成和处理Excel电子表格的工作。这个"JXLS测试工程"是一个实例,展示了如何利用JXLS库进行数据动态替换,以创建...

    jxls-poi导出excel示例代码文件

    3. **使用jxls读取和转换**:在Java代码中,引入`jxls`和`jxls-poi`的依赖,使用`JexlHelper`或`Context`对象加载JSON数据,然后调用`processTemplate()`方法将数据填入模板。 4. **导出Excel**:最后,`jxls-poi`...

    jxls利用模板生成excel文件

    **Jxls:基于模板生成Excel文件的神器** 在IT行业中,数据处理和报告生成是常见的需求,特别是当需要将大量数据导出为易于查看和分析的格式时,Excel表格成为了首选。而`jxls`正是一个Java库,它提供了一种高效、...

    使用net.sf.jxls下的jxls-core包进行复杂的Excel导出

    使用net.sf.jxls下的jxls-core包进行复杂的Excel导出

    jxls导出模板

    "jxls导出模板"是利用jxls库实现的一种高效、灵活的方式来处理和导出数据到Excel文件的方法。jxls是一个基于Java的库,它允许开发者使用Apache POI库来扩展XLS(X)模板,从而动态生成Excel文件。 jxls的核心概念是...

    jxls包以及依赖包(部分)

    【jxls包以及依赖包(部分)】是一个用于Java编程语言导出Excel文件的工具集。这个压缩包包含了几个关键的库文件,它们是实现jxls功能所必需的依赖。让我们逐一了解这些库的作用和重要性。 1. **poi-3.7-20101029....

Global site tag (gtag.js) - Google Analytics