java 如何导入excel
导入 Excel 文件的方法
在 Java 中导入 Excel 文件可以通过多种库实现,常用的包括 Apache POI、EasyExcel 和 JExcelAPI。以下是几种主流方法的详细说明。
使用 Apache POI
Apache POI 是处理 Microsoft Office 文件的主流库,支持 .xls 和 .xlsx 格式。
添加 Maven 依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
读取 .xlsx 文件示例:

import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
public class ExcelReader {
public static void main(String[] args) throws Exception {
String filePath = "example.xlsx";
FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = WorkbookFactory.create(fis);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(cell.toString() + "\t");
}
System.out.println();
}
workbook.close();
fis.close();
}
}
使用 EasyExcel
EasyExcel 是阿里开源的 Excel 处理工具,适合大数据量场景,内存占用低。
添加 Maven 依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
读取 Excel 示例:

import com.alibaba.excel.EasyExcel;
import java.util.List;
public class ExcelReader {
public static void main(String[] args) {
String filePath = "example.xlsx";
EasyExcel.read(filePath, new DemoDataListener()).sheet().doRead();
}
}
// 自定义监听器处理数据
class DemoDataListener implements AnalysisEventListener<Object> {
@Override
public void invoke(Object data, AnalysisContext context) {
System.out.println(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {}
}
使用 JExcelAPI
JExcelAPI 是轻量级库,仅支持 .xls 格式。
添加 Maven 依赖:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
读取 .xls 文件示例:
import jxl.*;
import java.io.File;
public class ExcelReader {
public static void main(String[] args) throws Exception {
Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
Sheet sheet = workbook.getSheet(0);
for (int row = 0; row < sheet.getRows(); row++) {
for (int col = 0; col < sheet.getColumns(); col++) {
Cell cell = sheet.getCell(col, row);
System.out.print(cell.getContents() + "\t");
}
System.out.println();
}
workbook.close();
}
}
选择建议
- Apache POI:功能全面,支持新旧 Excel 格式,适合复杂场景。
- EasyExcel:适合大数据量导入,内存优化好。
- JExcelAPI:仅支持旧格式,适合轻量级需求。
根据实际需求选择合适工具即可实现 Excel 导入功能。






