在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中jxl功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PNG格式。
搭建环境:将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。
jar包下载地址:
https://download.csdn.net/download/wmlwml0000/10505517
基本操作:
1.创建excel,并写入数据
import java.io.File;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
*
* ClassName: CreateExcel <br/>
* Function:创建excel <br/>
* Reason: TODO ADD REASON(可选). <br/>
* date: 2018年6月28日 下午2:26:27 <br/>
* @author Soulmate.leilei
* @version
* @since JDK 1.8
*/
public class CreateExcel {
public static void main(String[] args) {
try {
//创建Excel文件
File file =new File("C:\\Users\\Administrator\\Desktop\\testfile.xls");
file.createNewFile();
//创建工作簿,然后进行
WritableWorkbook workbook =Workbook.createWorkbook(file);
//创建sheet
WritableSheet sheet =workbook.createSheet("Sheet" , 0);
WritableSheet sheet2=workbook.createSheet("sheet2", 1);
//第一行设置列名:创建数组
String[] title={"编号","姓名","性别","年龄"};
Label label =null ;
//设置列名
for (int i = 0; i < title.length; i++) {
label=new Label(i,0,title[i]);
sheet.addCell(label);
}
//追加数据
for (int i = 1; i <=30; i++) {
label=new Label(0,i,"id"+i);
sheet.addCell(label);
label= new Label(1,i,"张"+i);
sheet.addCell(label);
label=new Label(2,i,"男");
sheet.addCell(label);
label=new Label(3,i,"18"+i);
sheet.addCell(label);
}
//写入数据
workbook.write();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("创建完毕");
}
}
执行效果:
2.读取Excel文件:
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
/**
* ClassName: ReadExcel <br/>
* Function: 读取Excel. <br/>
* Reason: TODO ADD REASON(可选). <br/>
* date: 2018年6月28日 下午2:35:18 <br/>
* @author Soulmate.leilei
* @version
* @since JDK 1.8
*/
public class ReadExcel {
public static void main(String[] args) {
try {
//获取文件
File file = new File("C:\\Users\\Administrator\\Desktop\\testfile.xls");
//创建WorkBook
Workbook workbook = Workbook.getWorkbook(file);
//获取第一个工作表sheet
Sheet sheet = workbook.getSheet(0);
//获取数据
for(int i =1;i<sheet.getRows();i++){
for(int j=0;j<sheet.getColumns();j++){
Cell cell = sheet.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行结果:
来源:CSDN
作者:江湖第一高
链接:https://blog.csdn.net/wmlwml0000/article/details/80842772