当前位置:首页 > Java

java如何读取excel数据

2026-04-09 06:35:25Java

读取Excel数据的常用方法

在Java中读取Excel数据可以通过多种方式实现,以下是几种常见的方法和对应的工具库。

使用Apache POI库

Apache POI是处理Microsoft Office文档的流行Java库,支持读取和写入Excel文件(.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>

读取Excel文件

java如何读取excel数据

import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;

public class ReadExcel {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.xlsx");
             Workbook workbook = WorkbookFactory.create(fis)) {

            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;
                        default:
                            System.out.print("[UNKNOWN]\t");
                    }
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用EasyExcel库

EasyExcel是阿里巴巴开源的一个简单高效的Excel处理工具,特别适合大数据量的读取。

添加依赖(Maven)

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

读取Excel文件

java如何读取excel数据

import com.alibaba.excel.EasyExcel;
import java.util.List;

public class ReadExcel {
    public static void main(String[] args) {
        String fileName = "example.xlsx";
        EasyExcel.read(fileName, new ExcelDataListener()).sheet().doRead();
    }
}

// 自定义监听器
class ExcelDataListener implements AnalysisEventListener<Object> {
    @Override
    public void invoke(Object data, AnalysisContext context) {
        System.out.println(data); // 逐行处理数据
    }

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

使用JExcelAPI(JXL)库

JExcelAPI是一个较老的库,仅支持.xls格式的Excel文件。

添加依赖(Maven)

<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

读取Excel文件

import jxl.*;
import java.io.File;

public class ReadExcel {
    public static void main(String[] args) {
        try {
            Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
            Sheet sheet = workbook.getSheet(0);
            for (int i = 0; i < sheet.getRows(); i++) {
                for (int j = 0; j < sheet.getColumns(); j++) {
                    Cell cell = sheet.getCell(j, i);
                    System.out.print(cell.getContents() + "\t");
                }
                System.out.println();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

方法对比

  • Apache POI:功能强大,支持.xls和.xlsx格式,适合复杂场景。
  • EasyExcel:适合大数据量读取,内存占用低,使用简单。
  • JExcelAPI:仅支持.xls格式,适合老旧项目。

根据需求选择合适的工具库,大多数现代项目推荐使用Apache POI或EasyExcel。

标签: 数据java
分享给朋友:

相关文章

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中: &…

vue实现数据互通

vue实现数据互通

Vue 实现数据互通的方法 Vue 提供了多种方式实现组件间的数据互通,以下是几种常见的方法: 父子组件通信 Props 传递数据 父组件通过 props 向子组件传递数据。 <!-- 父组…

vue怎么实现数据

vue怎么实现数据

Vue 数据实现方式 Vue 提供了多种方式来实现数据的响应式绑定和管理,核心是通过数据驱动视图的更新。 响应式数据声明 在 Vue 组件中,可以通过 data 选项声明响应式数据。这些数据会被 V…

vue双向实现数据

vue双向实现数据

Vue 双向数据绑定的实现 Vue 的双向数据绑定主要通过 v-model 指令实现,它结合了 v-bind 和 v-on 的功能,能够同步表单输入和应用状态。 基本语法 在表单元素上使用 v-mo…

如何学好java编程

如何学好java编程

理解基础概念 掌握Java的基础语法是学习的起点。变量、数据类型、运算符、控制结构(如循环和条件语句)是核心内容。面向对象编程(OOP)的概念(类、对象、继承、多态、封装)是Java的核心,需深入理解…

vue 实现查找数据

vue 实现查找数据

Vue 实现查找数据的方法 在 Vue 中实现数据查找功能可以通过多种方式完成,以下是几种常见的方法: 使用计算属性过滤数据 计算属性是 Vue 中响应式处理数据的理想选择,可以根据输入动态过滤数据…