java如何打开excel
使用 Apache POI 库
Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件,包括 Excel。以下是使用 Apache POI 打开 Excel 文件的基本方法:
-
添加依赖
在 Maven 项目中,添加以下依赖到pom.xml:<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> -
打开 Excel 文件
以下代码演示如何打开.xlsx文件(Excel 2007+格式):import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.IOException; public class ExcelReader { public static void main(String[] args) { try (FileInputStream fis = new FileInputStream("example.xlsx"); Workbook workbook = new XSSFWorkbook(fis)) { Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { for (Cell cell : row) { System.out.print(cell.toString() + "\t"); } System.out.println(); } } catch (IOException e) { e.printStackTrace(); } } }
使用 JExcelAPI(适用于旧版 Excel)
JExcelAPI 是一个轻量级的库,适用于处理 .xls 格式(Excel 97-2003):

-
添加依赖
Maven 依赖:<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency> -
打开 Excel 文件
示例代码:import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.File; import java.io.IOException; public class JExcelExample { public static void main(String[] args) { try { 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++) { System.out.print(sheet.getCell(col, row).getContents() + "\t"); } System.out.println(); } workbook.close(); } catch (IOException | BiffException e) { e.printStackTrace(); } } }
使用 EasyExcel(高性能库)
EasyExcel 是阿里开源的库,适合处理大文件:

-
添加依赖
Maven 依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.3.2</version> </dependency> -
定义数据模型
创建一个类映射 Excel 数据:public class ExcelData { private String column1; private String column2; // 省略 getter/setter } -
读取文件
示例代码:import com.alibaba.excel.EasyExcel; import java.util.List; public class EasyExcelExample { public static void main(String[] args) { String fileName = "example.xlsx"; List<ExcelData> dataList = EasyExcel.read(fileName) .head(ExcelData.class) .sheet() .doReadSync(); dataList.forEach(System.out::println); } }
注意事项
- 文件路径需使用绝对路径或确保相对路径正确。
- 处理大文件时建议使用流式读取(如 EasyExcel 或 POI 的
SXSSFWorkbook)。 - 写入文件后需调用
close()释放资源,或使用 try-with-resources 语法。






