欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

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

2025年07月15日 Java
依赖引入首先,如果你使用的是 maven 项目,需要在​​pom.xml​​​中添加​​easyexcel​​的依赖:<dependency> <groupid>com.

依赖引入

首先,如果你使用的是 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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!