现在来看看如何读取Excel模板然后把动态数据写入到模板以生成特定格式的Excel。
同样的思路,先来考虑下会涉及到那些对象,和上篇文章读取相比这里涉及到一个写入的步骤,所以JXL必然会提供一个对象
来支持写入,这就是WritableWorkbook。那么如何得到到这个类的实例,查看APIDoc发现Workbook类提供了几个
静态的createWorkbook方法返回WritableWorkbook实例,可以看到众多createWorkbook方法主要分为两类:一个参数
和两个参数。简单分析可以得知前者仅仅是用来直接生成Excel文件,后者先读取模板再向模板写入数据然后生成Excel。
(还有一个三参数方法加上一个用来设置workbook的参数)
现在按照上篇文章中所讲述的流程来看看读取模板并写入需要那些步骤。
第一步:选择模板文件:
Workbook wb = Workbook.getWorkbook(new File(realpath));
第二步:通过模板得到一个可写的Workbook:
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
第一个参数是一个输出流对象,比如可以
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
这样定义这个输出流对象。第二个参数代表了要读取的模板。
第三步:选择模板中名称为StateResult的Sheet:
WritableSheet wws = wwb.getSheet("StateResult");
如果需要也可以创建Sheet
WritableSheet wws = wwb.createSheet("Sheet名称",i);
第四步:选择单元格,写入动态值,根据单元格的不同类型转换成相应类型的单元格:
Label A1 = (Label)wws.getWritableCell(0,0);
A1.setString("单元格内容")
或
Number A2 = (Number)wws.getWritableCell(0,1);//Number是jxl.write.Number
A2.setValue(3.3);
也可以创建新的单元格并且加入到Sheet中
Label C1 = new Label(2,0,"单元格内容");
wws.addCell(C1);
或
Number C1 = new Number(2,0,3.3);
wws.addCell(C1);
在生成Excel报表的时候还会遇到一种需求就是数据的格式问题,我们可能希望数值型单元格以某种格式显示,而字符串型单元格以另
一种格式显示。这些可以通过WritableFont、NumberFormat、WritableCellFormat等实现,下例给单元格A1、A2添加了不同的格式。
java 代码
WritableFont font= new WritableFont(WritableFont.createFont("宋体"),10,WritableFont.NO_BOLD);
NumberFormat format = new NumberFormat("###,##0.00"); //NumberFormat是jxl.write.NumberFormat
WritableCellFormat cellFormat1 = new WritableCellFormat(font,format);
WritableCellFormat cellFormat2 = new WritableCellFormat(font);
cellFormat1.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border
cellFormat2.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border
A2.setCellFormat(cellFormat1);
A1.setCellFormat(cellFormat2);
还有不要忘记关闭WritableWorkbook和Workbook以释放资源:
wwb.close();
wb.close();
最后就可以你需要的方式从输出流targetFile中取得Excel,比如直接生成文件存本地,输出到客户端浏览器等。
如果还有其他需求,按照这种思路,再参照APIDoc相信可以很容易的解决。
至此,Java操作Excel之理解JXL就写完了。下一篇会介绍如何用Jakarta POI操作Excel。
分享到:
相关推荐
Java提供了多种库来实现这样的功能,这些库通常能够处理不同版本的Excel文件,包括32位和64位系统上的文件。 首先,我们需要了解Java中的主要库,如Apache POI和JExcelAPI,它们是用于读取和操作Excel文件的流行...
Java Excel API是一个强大的工具,允许Java开发者方便地读取、写入和操作Microsoft Excel文件。在Eclipse这样的集成开发环境中,使用Java Excel API可以轻松处理各种Excel数据操作任务。本教程将详细介绍如何在...
JavaExcel是一个广泛使用的术语,指的是使用Java处理Excel文件的相关技术,特别是Apache POI库。Apache POI是一个开源项目,允许Java开发者读取、写入和修改Microsoft Office格式的文件,其中包括Excel(.xlsx和.xls...
Java Excel比较代码主要涉及到的是Apache POI库的使用,这是一个强大的API,允许Java开发者读取、写入和修改Microsoft Office格式的文件,包括Excel。在本项目中,它被用来对比两个Excel工作表中的数据差异。 ...
JavaExcel是一个纯Java实现的Excel操作组件,它允许开发者在Java应用程序中轻松地读取、创建和修改Excel文件。这个组件通常被称为JExcelAPI,它提供了丰富的API接口,使得处理Excel数据变得简单而高效。JExcelAPI...
java excel 生成6级级联。加一个poi.jar就行。
Java Excel API 是一个开源项目,专门用于在Java环境中处理Excel文件。这个API使得开发者无需依赖Windows操作系统,就能在任何平台上创建、读取和修改Excel文件。由于它是用Java编写的,因此非常适合在Web应用程序中...
### JAVA Excel API教程知识点概述 #### 一、Java Excel API简介 Java Excel API是一种用于处理Microsoft Excel文件(.xls和.xlsx格式)的强大工具。通过Java Excel API,开发人员能够轻松地在Java应用程序中读取、...
基于SpringBoot、JDBC、Mybatis和EasyExcel的Java Excel批量导入导出设计源码,是一款针对高效处理Excel数据的Java应用解决方案。该项目充分利用了SpringBoot框架的便捷性和Mybatis持久层技术的强大功能,结合...
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及内存管理。 1. **Java与Excel的交互**: Java可以通过多种库来实现与Excel的交互,如Apache POI、...
java Excel相关处理 java Excel相关处理java Excel相关处理 java Excel相关处理java Excel相关处理 java Excel相关处理java Excel相关处理 java Excel相关处理java Excel相关处理 java Excel相关处理java Excel相关...
Java Excel写入与导出是Java开发者在处理数据时经常遇到的任务,特别是在数据分析、报表生成或者数据导入导出等场景。这项技术主要依赖于Apache POI库,它是一个开源项目,提供了读取、写入Microsoft Office格式文件...
Java Excel 是一个广泛使用的主题,特别是在企业级应用中,它涉及到使用Java编程语言来操作Microsoft Excel文件。在Java中处理Excel文件通常是为了数据导入、导出、报表生成或数据分析等任务。以下是一些关于Java ...
本示例主要关注如何使用Apache POI库来实现JavaExcel导出功能。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel。 首先,你需要在你的项目中引入Apache POI依赖。如果你...
Java Excel API,通常指的是jxl库,是一个广泛使用的开源Java库,用于读写Microsoft Excel文件。这个库使得在Java程序中处理Excel数据变得极其便捷,无论是读取现有的工作簿、创建新的工作簿,还是修改现有表格,jxl...
Java Excel工具类与LIB指的是在Java编程环境中处理Excel文件的一系列方法和库。这些工具能够帮助开发者轻松地创建、读取、修改Excel文件,并且能够将Excel数据转换为Java对象,反之亦然。这里提到的"XLSUtils.java...
在Java编程领域,生成Excel报表是一项常见的任务,尤其在数据可视化和组织结构管理中。"java excel tree"这个主题正是关于如何使用Java来创建一个基于Excel的组织架构报表,它利用了组合模式和一系列算法来实现自动...
Free Spire.XLS for Java是一款专门针对Java平台的开源Excel处理类库,它允许开发者在Java应用程序中创建、读取、修改和导出Excel文件。这个版本为2.2.0,提供了丰富的功能和易用的API,使得与Excel文件交互变得更加...
Java Excel日历控件是一种在Java应用程序中用于展示和交互日期选择的组件,它使得用户能够方便地在GUI(图形用户界面)中处理日期相关的任务。这种控件通常被集成到Java Swing或JavaFX框架中,以提供类似Excel中日历...