`
lijiye
  • 浏览: 65436 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JXLS使用(一)——Simple Sheet

阅读更多

         JXLS是一个简单易用的一个用于生成和读入Excel的工具,有兴趣的朋友可以到Jxls的官网上面下载最新版本的Jxls,目前Jxls最新的版本是0.9.5,下载的Zip包里面有一个Doc和Example,不过,官网所提供的东西太过简单,如果,需要详细了解Jxls的功能和使用方法的话,可以仔细研究其源代码。

         将Jxls源代码导入到Eclipse的环境中就可以查看和分析其源代码了,导入Eclipse的方法是:
         1)将下载的压缩包里面的Src目录下面的jxls-core和jxls-reader两个文件夹拷贝到一个目录下面(也可以不用拷贝)
         2)在DOS下面进入jxls-core目录下面,输入命令:mvn -eclipse:eclipse。jxls-reader的生成方式也是一样的
         3)打开Eclipse,将生成的两个项目导入
         使用jxls的时候其实就使用两个类就够了:XLSTransformer和Util,至少在我目前的使用过程中只使用到这么两个类。

         jxls的使用方法:
         1)将jxls的jar文件放到我们的程序目录下面,如果,使用Maven的话,直接在Project的pom.xml里面配置依赖就可以了
         2)根据需要生成的Excel文件或者Report的格式,设置一个jxls的Template文件,Template其实就是一个特殊的一些Excel文件,里面包含了一些jxls的Tag标签。
               jxls的Tag其实有点想jstl标签库的使用方式,在取出一个对象的值的时候可以利用下面这样的Tag来将值输出:${object1.property1};如果需要将一个Map输出到Excel的时候定义方式如下:${map.get('property1')};
          3)声明一个XLSTransformer对象,生成方式就是使用new操作符
                XLSTransformer transformer = new XLSTransformer();
          4)得到Template的FIle:
                 String xlsTemplateFileName = this.getClass().getClassLoader().getResource("template.xls");
          5)利用XLSTransformer的类的方法生成Excel文件
                 String xlsFileName = "c:"+File.separator+"resule.xls";
                 Map beans = new HashMap();
                 beans.put("newBeans1","new beans1");
                 beans.put("newBeans2","new beans2");
                 transformer.transformXLS(xlsTemplateFileName , beans, xlsFileName);

                 XLSTransformer类的transformXLS方法的定义如下:
                 public void transformXLS(String srcFilePath, Map beanParams, String destFilePath) throws ParsePropertyException, IOException其中:
                 srcFilePath:是Template文件的全文件名(包含路径)
                 beanParams:需要传入Excel里面的一个Map,jxls根据Template里面的定义和Map里面的对象对Template进行解析,将Map里面的对象值填入到Excel文件中
                 destFilePath:需要生成的Excel文件的全文件名(包含路径)

注:jxls虽然提供了Example,但是,都过于简单,如果想详细了解jxls,可以仔细研究jxls-core,其实没有必要查看其全部代码,如果只是想了解其具体操作,可以详细查看类XLSTransformerTest,即XLSTransformer的测试代码。
                 

        

分享到:
评论
7 楼 bihu0201 2014-12-12  
浏览器导出不支持吗?为什么我的老是报这个错误
Struts Problem Report

Struts has detected an unhandled exception:

Messages: (class: net/sf/jxls/parser/Cell, method: toCellName signature: ()Ljava/lang/String;) Incompatible object argument for function call
File: net/sf/jxls/parser/CellParser.java
Line number: 34

6 楼 pearskill 2014-03-19  
您好,文中说到的生成report格式,这个怎么做的?
5 楼 javaee68 2013-06-20  
4 楼 zhongaili520 2011-08-18  
log4j:WARN No appenders could be found for logger (net.sf.jxls.transformer.SheetTransformer).
log4j:WARN Please initialize the log4j system properly.


我的报这个错
3 楼 Jet_huang 2008-07-29  
解决了  缺少包 org/apache/commons/jexl/ExpressionFactory
2 楼 Jet_huang 2008-07-29  
解决了  缺少包 org/apache/commons/jexl/ExpressionFactory
1 楼 Jet_huang 2008-07-28  
  private static String templateFileName="D:\\resources\\templates\\adjacentlists.xls";
    private static String destFileName="D:\\11.xls";
    public static void main(String[] args) throws IOException, ParsePropertyException {
        if (args.length >= 2) {
            templateFileName = args[0];
            destFileName = args[1];
        }
        Department depIT = new Department("IT");
        Employee chief = new Employee("Derek", 35, 3000, 0.30);
        depIT.setChief(chief);
        Employee elsa = new Employee("Elsa", 28, 1500, 0.15);
        depIT.addEmployee(elsa);
        Map beans = new HashMap();
        beans.put("depIT", depIT);
        XLSTransformer transformer = new XLSTransformer();
        transformer.transformXLS(templateFileName, beans, destFileName);
    }


报错 INFO - SheetTransformer.transformSheet(80) | Processing sheet: Sheet1
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/jexl/ExpressionFactory
at net.sf.jxls.parser.Expression.<init>(Expression.java:58)
at net.sf.jxls.parser.CellParser.parseCellExpression(CellParser.java:141)
at net.sf.jxls.parser.CellParser.parseCellValue(CellParser.java:204)
at net.sf.jxls.parser.CellParser.parseCell(CellParser.java:58)
at net.sf.jxls.transformer.SheetTransformer.parseCells(SheetTransformer.java:186)
at net.sf.jxls.transformer.SheetTransformer.parseRow(SheetTransformer.java:256)
at net.sf.jxls.transformer.SheetTransformer.transformSheet(SheetTransformer.java:88)
at net.sf.jxls.transformer.XLSTransformer.transformWorkbook(XLSTransformer.java:255)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:234)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:213)
at com.wlcsp.mis.test.TestImportExcel.main(TestImportExcel.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
这是怎么回事

相关推荐

    jxls包——jxls-1.0.1.zip

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

    jxls实现多sheet的报表导出-附件资源

    jxls实现多sheet的报表导出-附件资源

    使用 jxls2.X 导出excel文件源码

    `jxls2` 是一个Java库,它允许开发者使用简单的Excel模板来动态地生成或读取Excel文件。本篇文章将深入探讨如何使用 `jxls2` 库来导出Excel文件,同时参考《使用 jxls2.X 导出excel文件源码》这篇博客文章中的案例...

    JxlsDemo:Jxls多sheet页demo

    Jxls多sheet页demo 1.解决了多sheet页导出时候模板定义页无法删除,无法隐藏 2.新增冻结窗口接口 example: //JxlsHelper helper = JxlsHelper.getInstance(); //helper.setSourceSheetName("template"); //helper....

    使用JXLS+Excel模板制作灵活的excel导出

    本文将详细介绍如何使用JXLS库结合Excel模板来实现这一功能。 JXLS(Java Excel Library)是一个强大的开源Java库,它允许开发者通过简单的XML模板来控制Excel文件的内容和格式。这个库简化了Java程序生成复杂Excel...

    jxls使用模板实现导出excel!

    jxls是一个强大的工具,它允许我们使用Apache POI库的功能,但通过使用JSP标签和简单的模板来简化Excel文件的创建过程。下面将详细介绍jxls如何利用模板来实现Excel的导出。 1. **jxls概述**: jxls是一个Java库,...

    jxls使用说明

    ### jxls使用说明详解 #### 一、JXLS简介 在开发涉及报表功能的Java应用时,生成Excel表格是一项常见的需求。对于处理.xls文件,Apache POI是业界广泛使用的库,但面对复杂的报表需求时,单纯使用POI编写代码会变...

    使用jxls标签导出Excel说明

    JXLS提供了一个简单的方式来生成复杂的Excel报表,并且可以与POI结合使用。 JXLS的优点是可以简化Excel报表的生成过程,并且可以实现复杂的报表功能。它可以读取Excel文件,并将数据写回Excel文件中。JXLS还提供了...

    使用 jxls2.X 导出excel文件

    在这个项目案例中,开发者使用了jxls库的最新版本(jxls2),它是一个强大的工具,能够帮助程序员将Java集合和POJOs(Plain Old Java Objects)直接转换为Excel工作表。 jxls是一个开源的Java库,其主要功能是允许...

    jxls1.0-2.0官网示例

    jxls是一款基于Java的库,它允许开发者通过使用Java编程语言和模板技术来动态生成Excel工作簿。这个库极大地简化了从Java对象到Excel表格的数据转换过程,尤其在处理复杂的数据结构和模板时,其优势更为明显。本文将...

    jxls2.3 官网最新下载

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

    JXLS 2.4.0 excel 导出 可以运行在 JDK 1.6

    总的来说,JXLS 2.4.0是一个适用于JDK 1.6环境的高效Excel处理工具,它提供了多Sheet操作、自定义函数和数据格式化的强大功能,同时具有良好的稳定性和易用性。无论是在需要进行大量数据处理的小型项目还是大型企业...

    官方jxls-2.4.1

    1. **模板语法**:Jxls使用一种类似于JSP的简单模板语法,允许在Excel中插入Java表达式和控制结构。例如,`&lt;jx:each&gt;`标签可以用来迭代Java集合中的元素,将它们填充到对应的单元格中。 2. **数据绑定**:通过AOP...

    使用xls或xlsx模板(jxls语法)导出Excel并下载的Demo

    jxls是一个Java库,它扩展了Apache POI库的功能,允许我们使用简单的语法(类似于JSP标签)在Excel模板中进行数据绑定和复杂的转换。通过这种方式,我们可以预先设计好Excel模板,然后用Java代码填充数据,生成动态...

    jxls poi jxls-2.2.9.zip

    一个简单的使用jxls的场景可能是这样的:你有一个User对象的集合,你想将这些用户的信息导出到Excel中,每个User对应Excel的一行。你先创建一个Excel模板,包含各个字段的占位符,然后使用jxls的API,传入User集合和...

    jxls导excel所需的所有jar包

    JXLS(Java Excel Library)是一个强大的工具,它允许开发者使用简单的模板来处理Excel工作表,实现数据的填充和读取。本篇文章将详细探讨JXLS库及其所需的jar包,帮助开发者更好地理解和使用这一工具。 首先,我们...

    jxls 2.3.0

    开发者可以创建一个包含样式、公式和数据占位符的Excel模板,然后使用jxls来填充数据。 5. **数据绑定和转换** - jxls 使用`java.util.List`或`java.util.Map`等集合类作为数据源,结合注解,可以直接将数据映射到...

    JXLS 2.4.0 官方源码例子

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

    jxls源码+API+示例代码

    jxls的一个主要优点是它的模板语法,它允许在Excel模板中使用Java Expression Language (JEXL)。通过这种方式,你可以定义复杂的逻辑,比如条件判断、循环和函数调用,直接在Excel单元格中。 使用jxls的典型流程...

Global site tag (gtag.js) - Google Analytics