
Excel
Java提供了多种方式来读取excel文件,下面是其中两种比较常用的方式:
1.使用Apache POI读取excel文件
Apache POI是Java处理Microsoft Office文档的开源工具库,可以方便地读取、写入、修改excel等Office文档。使用Apache POI读取excel文件的步骤如下:
1)添加依赖:
2)构建Workbook对象:
File file = new File("example.xlsx");
Workbook workbook = new XSSFWorkbook(new FileInputStream(file));
3)读取Sheet、Row、Cell:
Sheet sheet = workbook.getSheetAt(0);
for(Row row : sheet) {
for(Cell cell : row) {
switch(cell.getcellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print("\t");
}
}
System.out.println();
}
完整代码:
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import Java.io.File;
import Java.io.FileInputStream;
import Java.io.IOException;
public class ReadexcelByPOI {
public static void mAIn(String[] args) throws IOException {
File file = new File("example.xlsx");
Workbook workbook = new XSSFWorkbook(new FileInputStream(file));
Sheet sheet = workbook.getSheetAt(0);
for(Row row : sheet) {
for(Cell cell : row) {
switch(cell.getcellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print("\t");
}
}
System.out.println();
}
workbook.close();
}
}
2.使用Easyexcel读取excel文件
Easyexcel是一个基于POI封装的excel读写框架,提供了比POI更加简便的操作方式,并支持读取大文件。使用Easyexcel读取excel文件的步骤如下:
1)添加依赖:
2)定义读取监听器:
public class excelListener extends AnalysisEventListener {
@Override
public void invoke(Object data, AnalysisContext context) {
System.out.println(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("读取完成");
}
}
3)使用Easyexcel读取excel文件:
String fileName = "example.xlsx";
Easyexcel.read(fileName, new excelListener()).sheet().doRead();
完整代码:
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.Easyexcel;
public class ReadexcelByEasyexcel {
public static void mAIn(String[] args) {
String fileName = "example.xlsx";
Easyexcel.read(fileName, new excelListener()).sheet().doRead();
}
}
class excelListener extends AnalysisEventListener {
@Override
public void invoke(Object data, AnalysisContext context) {
System.out.println(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("读取完成");
}
}
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号