开发者

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

开发者 https://www.devze.com 2025-07-17 10:53 出处:网络 作者: 自由的疯
目录依赖引入代码实现代码解释​​TxtData​​ 类​​readTxtFile​​ 方法​​writeToExcel​​ 方法​​readExcelFile​​ 方法​​main​​ 方法注意事项依赖引入
目录
  • 依赖引入
  • 代码实现
  • 代码解释
    • ​​TxtData​​ 类
    • ​​readTxtFile​​ 方法
    • ​​writeToExcel​​ 方法
    • ​​readExcelFile​​ 方法
    • ​​main​​ 方法
  • 注意事项

    依赖引入

    首先,如果你使用的是 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 属wCVORdm性的值
        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 shjseetBuilder = readerBuilder.sheet();
            // 调用 doReadSync 方法同步读取 excel 文件的内容到 List 中
            dataList = sheetBuilder.doReadSync();
            // 返回存储了 excel 文件内容的 List
            return dataList;
        }
    }
    

    代码解释

    ​​TxtData​​&phpnbsp;类

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

    ​​readTxtFile​​ 方法

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

    ​​writeToExcel​​ 方法

    该方法接受一个 ​​List<TxtData>​​​ 和一个&nbsjsp;​​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内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号