当前位置:首页 > Java

java如何导入excel数据

2026-02-05 03:13:30Java

导入Excel数据的常用方法

在Java中导入Excel数据通常使用Apache POI或JExcelAPI等库。以下是几种常见的方法:

使用Apache POI读取Excel文件

Apache POI支持.xls和.xlsx格式的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文件的示例代码:

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

public class ExcelReader {
    public static void readExcel(String filePath) {
        try (Workbook workbook = WorkbookFactory.create(new FileInputStream(filePath))) {
            Sheet sheet = workbook.getSheetAt(0);
            for (Row row : sheet) {
                for (Cell cell : row) {
                    System.out.print(cell.toString() + "\t");
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用EasyExcel处理大数据量

EasyExcel是阿里巴巴开源的Excel处理工具,适合处理大文件:

java如何导入excel数据

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

读取示例:

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

public class EasyExcelReader {
    public static void readExcel(String filePath) {
        List<Object> data = new ArrayList<>();
        EasyExcel.read(filePath)
                .sheet()
                .doReadSync(data);
        data.forEach(System.out::println);
    }
}

使用JExcelAPI读取旧格式Excel

JExcelAPI适合处理.xls格式文件:

java如何导入excel数据

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

读取示例:

import jxl.Sheet;
import jxl.Workbook;
import java.io.File;

public class JExcelReader {
    public static void readExcel(String filePath) {
        try {
            Workbook workbook = Workbook.getWorkbook(new File(filePath));
            Sheet sheet = workbook.getSheet(0);
            for (int i = 0; i < sheet.getRows(); i++) {
                for (int j = 0; j < sheet.getColumns(); j++) {
                    System.out.print(sheet.getCell(j, i).getContents() + "\t");
                }
                System.out.println();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

处理不同类型单元格数据

读取Excel时需要处理不同类型的单元格:

switch (cell.getCellType()) {
    case STRING:
        System.out.print(cell.getStringCellValue());
        break;
    case NUMERIC:
        if (DateUtil.isCellDateFormatted(cell)) {
            System.out.print(cell.getDateCellValue());
        } else {
            System.out.print(cell.getNumericCellValue());
        }
        break;
    case BOOLEAN:
        System.out.print(cell.getBooleanCellValue());
        break;
    case FORMULA:
        System.out.print(cell.getCellFormula());
        break;
    default:
        System.out.print("");
}

性能优化建议

处理大文件时建议使用流式读取:

EasyExcel.read(filePath, new AnalysisEventListener<Object>() {
    @Override
    public void invoke(Object data, AnalysisContext context) {
        // 逐行处理数据
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 所有数据解析完成
    }
}).sheet().doRead();

这些方法覆盖了Java中处理Excel文件的主要场景,可以根据具体需求选择合适的库和实现方式。

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

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

java如何使用

java如何使用

Java 基本使用方法 Java 是一种广泛使用的编程语言,适用于开发各种类型的应用程序。以下是 Java 的基本使用方法,包括环境配置、语法基础和常用操作。 安装 Java 开发环境 下载并安装…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

java如何连接mysql

java如何连接mysql

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