Excel导入导出是一个通用的操作,但是写起来略显繁琐。
这里介绍一下icexls。
icexls-2.1.jar下载地址:
http://central.maven.org/maven2/com/icexls/icexls/2.1/icexls-2.1.jar
如果使用maven,则添加如下依赖:
<dependency>
<groupId>com.icexls</groupId>
<artifactId>icexls</artifactId>
<version>2.1</version>
</dependency>
导出Excel例子如下:
private static void export() {
String xlsFile = "C:/Users/Administrator/Desktop/xls.xls";
String[][] data = { { "zs", "张三" }, { "ls", "李四" }, { "ww", "王五" } };
IceExcel iceXls = new IceExcel(xlsFile);
iceXls.setData(data);
}
导入Excel例子如下:
private static void importx() {
String xlsFile = "C:/Users/Administrator/Desktop/xls.xls";
IceExcel iceXls = new IceExcel(xlsFile);
String[][] data = iceXls.getData();
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
System.out.print(data[i][j] + "\t");
}
System.out.println();
}
}
可以发现导入导出Excel其实就是调用一下Setter、Getter方法。
如果报错:
说明你没有引入jxl,jar或者poi.jar. 二者引入其中一个即可。
这里使用jxl.
那么如何自定义Sheet呢,还有导出时如果是数字在单元格左上角会有一个绿点,那其实是因为它使用了字符串格式。
如何解决以上问题呢?
代码如下:
private static void export() {
String xlsFile = "C:/Users/Administrator/Desktop/xls2.xls";
String[][] data = { { "zs", "张三", "23" }, { "ls", "李四", "24" }, { "ww", "王五", "25" } };
IceExcel iceXls = new IceExcel(xlsFile);
IceExcelConfig.setSheet(iceXls, "导出测试");// 自定义Sheet
IceExcelConfig.setNumberType(iceXls, NumberType.NUMBER);// 导出的单元格如果是数字,使用数字格式
iceXls.setData(data);
}
导出后的Excel如图:
icexls源码参见: