Java实现TXT转Excel并读取Excel内容到List集合的完整代码

 更新时间:2025年07月15日 10:31:12   作者:自由的疯  
在Java开发中,我们经常会遇到文件格式转换的需求,比如将txt​​​文件转换为​​excel​​​文件,并且可能需要进一步处理​​excel文件中的数据,本文将详细介绍如何使用 Java 代码完成这个任务,我们会使用 ​​EasyExcel​​​ 库来实现 ​​excel​​ 文件的读写操作

依赖引入

首先,如果你使用的是 Maven 项目,需要在 ​​pom.xml​​​ 中添加 ​​EasyExcel​​ 的依赖:

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

代码实现

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

// 定义数据类,用于存储每行数据
// 这个类用于封装从 txt 文件中读取的每行内容
// 每个 TxtData 对象代表 txt 文件中的一行
class TxtData {
    // 存储 txt 文件每行的内容
    private String content;

    // 构造函数,用于初始化 content 属性
    public TxtData(String content) {
        this.content = content;
    }

    // 获取 content 属性的值
    public String getContent() {
        return content;
    }

    // 设置 content 属性的值
    public void setContent(String content) {
        this.content = content;
    }
}

public class TxtToExcelConverter {
    public static void main(String[] args) {
        // 定义 txt 文件的路径
        String txtFilePath = "input.txt";
        // 定义生成的 excel 文件的路径
        String excelFilePath = "output.xlsx";

        try {
            // 调用 readTxtFile 方法将 txt 文件内容转换为 List<TxtData>
            List<TxtData> txtDataList = readTxtFile(txtFilePath);
            // 调用 writeToExcel 方法将 List<TxtData> 写入 excel 文件
            writeToExcel(txtDataList, excelFilePath);
            // 调用 readExcelFile 方法从 excel 文件读取内容到 List<TxtData>
            List<TxtData> excelDataList = readExcelFile(excelFilePath);

            // 遍历从 excel 读取的数据列表
            for (TxtData data : excelDataList) {
                // 打印每个 TxtData 对象的内容
                System.out.println(data.getContent());
            }
        } catch (IOException e) {
            // 捕获并打印可能出现的 IO 异常
            e.printStackTrace();
        }
    }

    // 读取 txt 文件内容到 List<TxtData>
    private static List<TxtData> readTxtFile(String txtFilePath) throws IOException {
        // 创建一个空的 List 用于存储 TxtData 对象
        List<TxtData> txtDataList = new ArrayList<>();
        // 使用 try-with-resources 语句创建 BufferedReader 来读取 txt 文件
        try (BufferedReader reader = new BufferedReader(new FileReader(txtFilePath))) {
            String line;
            // 逐行读取 txt 文件,直到文件末尾
            while ((line = reader.readLine()) != null) {
                // 将每行内容封装成 TxtData 对象并添加到列表中
                txtDataList.add(new TxtData(line));
            }
        }
        // 返回存储了 txt 文件内容的 List
        return txtDataList;
    }

    // 将 List<TxtData> 写入 excel 文件
    private static void writeToExcel(List<TxtData> dataList, String excelFilePath) {
        // 使用 EasyExcel 的 write 方法创建一个写入器
        // 指定写入的文件路径和数据类型
        // 然后指定工作表名称为 "Sheet1"
        // 最后调用 doWrite 方法将数据列表写入 excel 文件
        EasyExcel.write(excelFilePath, TxtData.class).sheet("Sheet1").doWrite(dataList);
    }

    // 从 excel 文件读取内容到 List<TxtData>
    private static List<TxtData> readExcelFile(String excelFilePath) {
        // 创建一个空的 List 用于存储从 excel 文件读取的数据
        List<TxtData> dataList = new ArrayList<>();
        // 使用 EasyExcel 的 read 方法创建一个读取器构建器
        // 指定要读取的文件路径和数据类型
        ExcelReaderBuilder readerBuilder = EasyExcel.read(excelFilePath, TxtData.class, null);
        // 从读取器构建器创建一个工作表读取器构建器
        ExcelReaderSheetBuilder sheetBuilder = readerBuilder.sheet();
        // 调用 doReadSync 方法同步读取 excel 文件的内容到 List 中
        dataList = sheetBuilder.doReadSync();
        // 返回存储了 excel 文件内容的 List
        return dataList;
    }
}

代码解释

​​TxtData​​ 类

这个类是一个简单的 JavaBean,用于封装从 ​​txt​​​ 文件中读取的每行内容。它包含一个 ​​content​​​ 属性,以及对应的 getter 和 setter 方法,还有一个构造函数用于初始化 ​​content​​ 属性。

​​readTxtFile​​ 方法

该方法接受一个 ​​txt​​​ 文件的路径作为参数,使用 ​​BufferedReader​​​ 逐行读取 ​​txt​​​ 文件的内容。每读取一行,就将其封装成一个 ​​TxtData​​​ 对象,并添加到 ​​List<TxtData>​​ 中。最后返回这个列表。

​​writeToExcel​​ 方法

该方法接受一个 ​​List<TxtData>​​​ 和一个 ​​excel​​​ 文件的路径作为参数。使用 ​​EasyExcel​​​ 的 ​​write​​​ 方法创建一个写入器,指定写入的文件路径和数据类型,然后指定工作表名称为 "Sheet1",最后调用 ​​doWrite​​​ 方法将数据列表写入 ​​excel​​ 文件。

​​readExcelFile​​ 方法

该方法接受一个 ​​excel​​​ 文件的路径作为参数。使用 ​​EasyExcel​​​ 的 ​​read​​​ 方法创建一个读取器构建器,指定要读取的文件路径和数据类型。然后从读取器构建器创建一个工作表读取器构建器,调用 ​​doReadSync​​​ 方法同步读取 ​​excel​​​ 文件的内容到 ​​List<TxtData>​​ 中,并返回这个列表。

​​main​​ 方法

这是程序的入口点,它依次调用 ​​readTxtFile​​​、​​writeToExcel​​​ 和 ​​readExcelFile​​​ 方法,完成 ​​txt​​​ 文件到 ​​excel​​​ 文件的转换,并将 ​​excel​​​ 文件内容读取到 ​​List​​​ 中,最后打印出 ​​List​​ 中的内容。

注意事项

请确保将 ​​txtFilePath​​​ 和 ​​excelFilePath​​​ 替换为你实际的文件路径。如果文件路径不存在或文件无法访问,可能会抛出 ​​IOException​​ 异常。

通过以上步骤,你就可以使用 Java 代码将 ​​txt​​​ 文件转换为 ​​excel​​​ 文件,并将 ​​excel​​​ 文件内容读取到 ​​List​​ 集合中了。

到此这篇关于Java实现TXT转Excel并读取Excel内容到List集合的完整代码的文章就介绍到这了,更多相关Java TXT转Excel并读取到List内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JVM中判定对象需要回收的方法

    JVM中判定对象需要回收的方法

    这篇文章主要介绍了jvm中如何判定对象需要回收,jvm在确定是否回收的对象的时候采用的是root搜索算法来实现,需要的朋友可以参考下
    2022-04-04
  • spring mvc中@RequestBody注解的作用说明

    spring mvc中@RequestBody注解的作用说明

    这篇文章主要介绍了spring mvc中@RequestBody注解的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java中length,length(),size()详解及区别

    Java中length,length(),size()详解及区别

    这篇文章主要介绍了Java中length,length(),size()详解及区别的相关资料,需要的朋友可以参考下
    2016-11-11
  • Java制作智能拼图游戏原理及代码

    Java制作智能拼图游戏原理及代码

    本文给大家分享的是使用Java实现智能拼图游戏的原理,以及实现的源码,推荐给大家,有需要的小伙伴可以参考下。
    2015-03-03
  • 一文带你掌握Java开发者如何接入并使用DeepSeek

    一文带你掌握Java开发者如何接入并使用DeepSeek

    对于Java开发者来说,将DeepSeek集成到项目中,可以极大地提升数据处理和分析的效率,下面小编就来为大家介绍一下具体的调用方法吧
    2025-03-03
  • 一文快速掌握Java中的搜索算法和排序算法

    一文快速掌握Java中的搜索算法和排序算法

    这篇文章主要为大家详细介绍了Java中常用的搜索算法和排序算法的实现,例如二分查找、冒泡排序、选择排序等,文中的示例代码讲解详细,希望对大家有所帮助
    2023-04-04
  • Java如何获取对象属性及对应值

    Java如何获取对象属性及对应值

    这篇文章主要介绍了Java如何获取对象属性及对应值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 浅析Java迭代器Iterator和Iterable的区别

    浅析Java迭代器Iterator和Iterable的区别

    Java语言中,Iterator和Iterable都是用来遍历集合类数据结构的接口,虽然它们有很多相似的地方,但在具体实现中却有着一些不同之处,本文将详细分析它们的区别,并提供相应的代码示例,需要的朋友可以参考下
    2023-07-07
  • Java Web编程之Servlet技术详解

    Java Web编程之Servlet技术详解

    这篇文章主要为大家详细介绍了Java Web编程之Servlet技术,Servlet就是一种实现了Servlet接口的类,它由Web容器(Tomcat/Jetty等)负责调用并创建,用于接收和响应用户请求,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 关于连接远程redis的流程

    关于连接远程redis的流程

    这篇文章主要介绍了关于连接远程redis的流程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论