如何在 Java 中将 Excel 数据转换为 ArrayList?

简介: 【8月更文挑战第23天】

在 Java 编程中,处理 Excel 文件是一个常见的需求,尤其是在数据分析和报告生成中。ArrayList 是 Java 集合框架中的一个动态数组,它可以灵活地增长和缩减。在实际应用中,我们经常需要从 Excel 文件中读取数据并将其存储到 ArrayList 中。本文将详细介绍如何使用 Java 在 Excel 中创建 ArrayList

概述

要将 Excel 数据转换为 ArrayList,我们需要使用一个可以读取 Excel 文件的库。Apache POI 是一个非常流行的 Java 库,它允许我们处理 Microsoft Office 文档,包括 Excel。在本文中,我们将使用 Apache POI 来读取 Excel 文件,并将数据存储到 ArrayList 中。

环境准备

首先,你需要在你的项目中引入 Apache POI 库。如果你使用 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 文件

接下来,我们将编写 Java 代码来读取 Excel 文件。我们将使用 XSSFWorkbook 类来读取 .xlsx 格式的文件,并将每个单元格的数据存储到 ArrayList 中。

示例代码
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;

public class ExcelToArrayList {
   
    public static void main(String[] args) {
   
        try {
   
            FileInputStream file = new FileInputStream(new File("example.xlsx"));
            Workbook workbook = new XSSFWorkbook(file);
            Sheet sheet = workbook.getSheetAt(0);

            List<List<String>> arrayList = new ArrayList<>();

            for (Row row : sheet) {
   
                List<String> rowData = new ArrayList<>();
                for (Cell cell : row) {
   
                    rowData.add(cell.toString());
                }
                arrayList.add(rowData);
            }

            workbook.close();
            file.close();

            System.out.println(arrayList);
        } catch (Exception e) {
   
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先打开一个名为 "example.xlsx" 的 Excel 文件,并获取第一个工作表。然后,我们遍历工作表中的每一行,对于每一行,我们创建一个 ArrayList 来存储该行的单元格数据。最后,我们将这些行数据添加到总的 ArrayList 中。

总结

在 Java 中将 Excel 数据转换为 ArrayList 可以使用 Apache POI 库来实现。通过读取 Excel 文件中的工作表、行和单元格,我们可以将数据存储到 ArrayList 中,以便进一步处理或分析。理解这个过程可以帮助我们更有效地处理 Excel 数据,并在 Java 应用程序中利用这些数据。

目录
相关文章
|
6天前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
13天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
66 5
|
10天前
|
Java 索引 容器
Java ArrayList扩容的原理
Java 的 `ArrayList` 是基于数组实现的动态集合。初始时,`ArrayList` 底层创建一个空数组 `elementData`,并设置 `size` 为 0。当首次添加元素时,会调用 `grow` 方法将数组扩容至默认容量 10。之后每次添加元素时,如果当前数组已满,则会再次调用 `grow` 方法进行扩容。扩容规则为:首次扩容至 10,后续扩容至原数组长度的 1.5 倍或根据实际需求扩容。例如,当需要一次性添加 100 个元素时,会直接扩容至 110 而不是 15。
Java ArrayList扩容的原理
|
6天前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
16 2
|
6天前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
13 2
|
13天前
|
存储 Java 索引
Java中的数据结构:ArrayList和LinkedList的比较
【10月更文挑战第28天】在Java编程世界中,数据结构是构建复杂程序的基石。本文将深入探讨两种常用的数据结构:ArrayList和LinkedList,通过直观的比喻和实例分析,揭示它们各自的优势与局限,帮助你在面对不同的编程挑战时做出明智的选择。
|
10天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
30 2
|
13天前
|
Java API Apache
|
16天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
24 4
|
16天前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
35 2