jxl导出excel

时间:2024-03-27 11:09:33

上一篇讲到freemarker导出excel这篇讲用jxl导出excel 

freemarker导出通用性比较高,只需要把freemarker的模板进行替换就可以,jxl则比freemarker相对繁琐一点,但是不会像freemarker一样打开excel提示文件格式不正确,用户体验感高一些;废话不多说

具体实现如下:

1:导入jxl的jar包

同样外部导出jar包或者pom文件加入相应的mevan依赖都可以。、

2:创建想要导出的excel模板放入文件

jxl导出excel

3:导入模板

ctrl层:

jxl导出excel

说明:这里的File.separator是文件分隔符。文件的地址是编译后的地址,而不是项目地址

 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:

File file1 = new File ("C:\tmp\test.txt");

Linux下则是这样的:

File file2 = new File ("/tmp/test.txt");

如果要考虑跨平台,则最好是这么写:

File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

jxl导出excel

jxl导出excel

我这边是先将临时文件夹下面的文件全部删除,然后将模板的内容复制到新文件中存储于临时文件夹下

jxl导出excel

jxl导出excel

重点:jxl将数据写入excel(每一个模板都不一样)

总结下来就是:(我这边是已经有模板的直接获取,也可以自己在代码里面创建一个模板以及其格式)

先获取已有的模板(通过模板路径),wb=Workbook.getWorkbook(new File(path),set);,再创建一个可读写的副本WriteableWorkbook workbook=Workbook.createWorkbook(new File(path), wb);然后对副本进行操作

sheet =workBook.getSheet(0);得到工作簿

再对单元格进行操作:

1:通过行和列得到可读写的列 sheet.getWriteableCell();

1:设置单元格样式WritableCellFormat 获取(cell.getCellFormat())

2:填值new jxl.write.type(各种类型)

3:sheet.addCell(cell);

最后写入(刷新)工作薄。关掉工作薄

workBook.write();

workBook.close();

jxl导出excel

jxl导出excel

jxl导出excel