`
zzq19750706
  • 浏览: 3018 次
社区版块
存档分类
最新评论

使用jxl利用模板导出excel文件

 
阅读更多

通常会有需要将数据以excel的形式导出(如各种统计报表),而需要导出的excel中包含大量复杂的格式,如单元格合并,字体及单元格背景设置,边框设置等等。虽然可以通过jxl在代码中完成这些工作,但是比较麻烦,而且不易于维护;因此,可以将固定的内容事先写到一个excel文件中,并将该文件保存在resource目录下,需要执行导出的时候,根据该文件创建一个新的工作簿对象,在此基础上完成数据的填充工作,参考下面的代码片段:

 // 创建只读的 Excel 工作薄的对象
 jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile));
 // 创建可写入的 Excel 工作薄对象
 jxl.write.WritableWorkbook  wwb = Workbook.createWorkbook(new File(targetfile), rw);

 // 读取第一张工作表
 jxl.write.WritableSheet ws = wwb.getSheet(0);
 // 获得第一个单元格对象
 jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

 // 判断单元格的类型 , 做出相应的转化
 if(wc.getType() == CellType.LABEL)
 {
 Label l = (Label)wc;
    l.setString("The value has been modified.");
 }
 // 写入 Excel 对象
 wwb.write();
 // 关闭可写入的 Excel 对象
 wwb.close();
 // 关闭只读的 Excel 对象
 rw.close();

 

之所以使用这种方式构建 Excel 对象,完全是因为效率的原因,因为上面的示例才是 API 的主要应用。为了提高性能,在读取工作表时,与数据相关的一些输出信息,所有的格式信息,如:字体、颜色等等,是不被处理的,因为我们的目的是获得行数据 的值,既使没有了修饰,也不会对行数据的值产生什么影响。唯一的不利之处就是,在内存中会同时保存两个同样的工作表,这样当工作表体积比较大时,会占用相 当大的内存,但现在好像内存的大小并不是什么关键因素了。

一旦获得了可写入的工作表对象,我们就可以对单元格对象进行更新的操作了,在这里我们不必调用 API 提供的 add() 方法,因为单元格已经于工作表当中,所以我们只需要调用相应的 setXXX() 方法,就可以完成更新的操作了。

尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,以使单元格的内容以不同的形式表现。

新生成的工作表对象是可写入的,我们除了更新原有的单元格外,还可以添加新的单元格到工作表中,这与示例 2 的操作是完全一样的。

最后,不要忘记调用 write() 方法,将更新的内容写入到文件中,然后关闭工作薄对象,这里有两个工作薄对象要关闭,一个是只读的,另外一个是可写入的。

分享到:
评论

相关推荐

    通过JXL使用模板导出EXCEL

    java版本通过JXL使用模板导出EXCEL

    jxl导出excel支持模板和非模板

    利用JXL技术支持模板和非模板的表格导出

    JXL使用模板通过el表达式生成excel文件

    JXL使用模板通过el表达式生成excel文件,简单方便,可以直接在excel模板文件中设置样式,为什么老是改我 下载所需积分,我明明设置了2个积分。。。。

    使用Java的jxl方式导出到Excel

    使用Java的jxl方式导出到Excel。

    jxl模板导出相关包

    jxl模板导出相关包

    jxl结合IBATIS导出EXCEL

    jxl结合IBATIS,导出EXCEL。读取EXCEL模板,把数据写到新的EXCEL中。sql语句中要起别名,别名第一位为字母,第二位包括第二位要是整数数字,这个数字决定插入到excel表格中的位置,决定插入的是那一列。EXCEL模板中...

    java通过Excel模板导出各种Excel

    java通过Excel模板导出各种Excel , 支持所有的动态数据,列表,图片, 好用的请给好评! 解压导入到eclipse就可以运行看到效果,里面有简单的例子 , 有很复杂的模板,通过模板导出数据。

    jxl文件导出

    jxl实现文件导出 上次只是简单的导出 没有实现excel样式 这次实现了样式 在com test newtest包中实现了样式功能 JXLExcelUtils java封装了excel导出的功能 实现的是模板导出 采用的样式是复制模板的样式 ...

    jxl操作excel模板jar包

    jxl操作excel模板jar包,用于导出特定excel模板

    jxl导出excel

    jxl导出文件:将list导出到excel文件中,有模板无模板两种方式,只支持excel2003

    java实现自定义excel模板导出excel并可保存客户端和在线打开

    java生成自定义模板的excel,可以实现任何复杂格式的excel,简单易用,可以保存客户端并可在线打开,使用了jxl技术,不需要任何插件,jar包都有可以直接运行

    poi,jxl模板导出资源.zip

    Jxl与Poi模板导出Excel文件,超级简单,内有源码,可以看我的博客 https://blog.csdn.net/xll_csdn/article/details/106862121 收费不高,赚点积分,互利互惠,哈哈!

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    SpringBoot整合poi实现Excel文件的导入和导出,其中单独分装出一个ExcelFormatUtil工具类来实现对单元格数据格式进行判断。

    jxl实现excel大数据导出

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

    完整的导出EXCEL(poi/jxls)

    导出excel 到客户端并下载,支持所有版本 2003-2010 用到 poi 和jxl 可以用模板导出或者自动导出生成EXCEL

    Java使用Excel模板导出所需的jar

    Java使用Excel模板导出所需的jar:freemarker-2.3.19.jar 、freemarker-util-0.0.1.jar 、jxl-2.6.10.jar 、jxl-report-1.0.jar

    Excel导入导及动态验证

    使用jxl实现poi简单的功能,通过反射原理动态验证内容及导入导出excel文件

    excel 报表导出 模块框架 jar

    个人写的excel模板导出jar, 采用的是在excel中配置${\w-\w}类型标签,在 IExcelHandle接口集成类中实现具体的excel中报表值的计算. 提供源码和jar,其中有测试类和测试excel. 使用了java依赖倒置,将输出源,...

    自定义Excel的上传下载(解析Excel文件)

    实现Excel的上传和下载 存在两种格式的上传和下载,分别对应POI和JXL 可以实现根据Excel模板导出,自定义Excel样式导入 形成自定义的Excel报表等功能。项目为Maven项目,JDK采用1.8

    jxl操作excel写入数据不覆盖原有数据示例

    网上很多例子,都是用Jxl读或者写excel,本文实现的功能就是将数据源in.xls的第几行第几列数据写入到out.xls的第几行第几列,不覆盖out.xls其他原有的数据。

Global site tag (gtag.js) - Google Analytics