当前位置:首页 > Java

java如何读取excel

2026-03-03 00:38:10Java

读取 Excel 文件的常用方法

在 Java 中读取 Excel 文件通常使用第三方库,以下是两种主流方法:

使用 Apache POI 库

Apache POI 是处理 Microsoft Office 文件(包括 Excel)的流行库。支持 .xls(HSSF)和 .xlsx(XSSF)格式。

添加 Maven 依赖:

java如何读取excel

<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 文件示例:

try (FileInputStream file = new FileInputStream("data.xlsx");
     Workbook workbook = new XSSFWorkbook(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");
                case NUMERIC -> System.out.print(cell.getNumericCellValue() + "\t");
                case BOOLEAN -> System.out.print(cell.getBooleanCellValue() + "\t");
                default -> System.out.print("\t");
            }
        }
        System.out.println();
    }
}

使用 EasyExcel 库

EasyExcel 是阿里开源的 Excel 处理工具,适合大数据量场景,内存占用低。

java如何读取excel

添加 Maven 依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.3.2</version>
</dependency>

定义数据模型:

@Data
public class DemoData {
    @ExcelProperty("姓名")
    private String name;

    @ExcelProperty("年龄")
    private Integer age;
}

读取文件示例:

String fileName = "data.xlsx";
EasyExcel.read(fileName, DemoData.class, new AnalysisEventListener<DemoData>() {
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        System.out.println(data);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        System.out.println("读取完成");
    }
}).sheet().doRead();

选择建议

  • 需要完整控制 Excel 各个元素时选择 Apache POI
  • 处理大数据量或简单结构数据时选择 EasyExcel
  • 考虑文件格式:.xls 只能用 HSSF(POI),.xlsx 两种库都支持

两种方式都能有效读取 Excel 内容,根据项目需求选择合适的工具即可。

标签: javaexcel
分享给朋友:

相关文章

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Jav…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法名…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…