`
lijiye
  • 浏览: 65098 次
  • 性别: 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的报表导出-附件资源

    JxlsDemo:Jxls多sheet页demo

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

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

    项目案例 http://blog.csdn.net/lnktoking/article/details/52932679

    使用Apache开源POI和jXLS两种API生成报表

    在使用 POI 生成报表时,需要首先创建一个 Workbook 对象,然后创建一个或多个 Sheet 对象,每个 Sheet 对象可以包含多个 Cell 对象。Cell 对象是 Excel 中最基本的单元格,可以设置其内容、格式、边框、背景等属性...

    jxls使用模板实现导出excel!

    亲自使用的jxls导出功能,使用方法在文档里有说明。。。

    jxls使用说明

    这部分描述在.xls模板文件的中的对象属性访问语法,如果想让JXLS引擎进行正确的处理.xls模板文件就必须使用规定的语法。还有tag使用的方法

    jxls2.0支持合并单元格

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

    jxls使用的所有jar包(9个)

    包括以下几个: commons-beanutils.jar commons-collections-2.1.1.jar commons-digester.jar commons-jexl-1.1.jar commons-logging.jar jxl.jar jxls.jar jxls-core-0.9.5.jar poi_2006_5_19.jar

    jxls模板导出Excel教程

    使用jxls技术,自己创建Excel模板导出数据

    jxls poi jxls-2.2.9.zip

    jxls poi jxls-2.2.9.zip

    使用jxls标签导出Excel说明

    使用jxls标签直接写在Excel模板中导出Excel很方便,比直接用poi导出方便很多,有兴趣的可以看一下!

    jxls1.0-2.0官网示例

    jxls1.0/2.0官网示例 jxls1.0适合做一些简单的excel格式 jxls2.0支持复杂excel格式

    jxls自己写的简单实例

    jxls自己写的简单实例,支持横向 纵向排序,jxls-0.9.8

    jxls教程Excel生成

    jxls教程 使用Java操作Excel,创建模板生成 jxls教程 使用Java操作Excel,创建模板生成

    jxls包含所需的所有jar包

    jxls包含所需的所有jar包,如jxls,poi,commons-beanutils等,jxls是非常好用的将数据导成Excel文件的工具,并用现有Excel模板为样式

    jxls源码+API+示例代码

    最新jxls源码+API+示例代码,支持最新版POI3.6,有了它你就可以对excel文件操作自如了!

    jxls全部jar包(内包含一个可用的例子)

    使用jxls导出Excel例子。文件包括了jxls所需的所有jar包。

Global site tag (gtag.js) - Google Analytics