1.jxl是什么?
Jxl是一款常用的Java中操作Excel的API,但其只对xls有效,对2007版本以上的Excel(xlsx)很难处理。在本节中,主要介绍如何使用Jxl创建工作簿以及工作表、读取Excel文件内容和写入Excel文件内容。
2.依赖
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
3.数据写入
我们在写入的时候,要保证这个目录是存在的,我这里是自己手动创建的
@Test
void contextLoads() throws Exception {
File xlsFile = new File("E:\\java\\jsoup/data/a.xls");
//创建一个工作薄
WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
//创建一个工作表
WritableSheet sheet = workbook.createSheet("sheet1", 0);
//添加表头
sheet.addCell(new Label(0, 0, "post_id"));
sheet.addCell(new Label(1, 0, "post_title"));
/**
* 添加内容
*/
for (int i = 0; i <2 ; i++) {
sheet.addCell(new Label(0,i+1,"0"+i));
sheet.addCell(new Label(1,i+1,"内容"+i));
}
//执行写入文件操作
workbook.write();
//关闭资源。释放内存
workbook.close();
}
4. 数据读取
@Test
void contextLoads() throws Exception {
//声明工作薄
Workbook book = Workbook.getWorkbook((new File("E:\\java\\jsoup/data/a.xls")));
//获取名称sheet1表格 ,也可使用getSheet(0)获取第一个工作表
Sheet sheet = book.getSheet(0);
//获取工作表中的总行数及总列数
int rows = sheet.getRows();
int columns = sheet.getColumns();
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
//使用getCell方法读取数据
//第一个参数是指定第几列,第二个参数是指定第几行
final Cell cell = sheet.getCell(j, i);
System.out.println(cell.getContents() + "\t");
}
System.out.println();
}
}