最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)TXT轉(zhuǎn)Excel并讀取Excel內(nèi)容到List集合的完整代碼

 更新時(shí)間:2025年07月15日 10:31:12   作者:自由的瘋  
在Java開發(fā)中,我們經(jīng)常會(huì)遇到文件格式轉(zhuǎn)換的需求,比如將txt???文件轉(zhuǎn)換為??excel???文件,并且可能需要進(jìn)一步處理??excel文件中的數(shù)據(jù),本文將詳細(xì)介紹如何使用 Java 代碼完成這個(gè)任務(wù),我們會(huì)使用???EasyExcel????庫來實(shí)現(xiàn)???excel???文件的讀寫操作

依賴引入

首先,如果你使用的是 Maven 項(xiàng)目,需要在 ??pom.xml??? 中添加 ??EasyExcel?? 的依賴:

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

代碼實(shí)現(xiàn)

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;

// 定義數(shù)據(jù)類,用于存儲(chǔ)每行數(shù)據(jù)
// 這個(gè)類用于封裝從 txt 文件中讀取的每行內(nèi)容
// 每個(gè) TxtData 對(duì)象代表 txt 文件中的一行
class TxtData {
    // 存儲(chǔ) txt 文件每行的內(nèi)容
    private String content;

    // 構(gòu)造函數(shù),用于初始化 content 屬性
    public TxtData(String content) {
        this.content = content;
    }

    // 獲取 content 屬性的值
    public String getContent() {
        return content;
    }

    // 設(shè)置 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 {
            // 調(diào)用 readTxtFile 方法將 txt 文件內(nèi)容轉(zhuǎn)換為 List<TxtData>
            List<TxtData> txtDataList = readTxtFile(txtFilePath);
            // 調(diào)用 writeToExcel 方法將 List<TxtData> 寫入 excel 文件
            writeToExcel(txtDataList, excelFilePath);
            // 調(diào)用 readExcelFile 方法從 excel 文件讀取內(nèi)容到 List<TxtData>
            List<TxtData> excelDataList = readExcelFile(excelFilePath);

            // 遍歷從 excel 讀取的數(shù)據(jù)列表
            for (TxtData data : excelDataList) {
                // 打印每個(gè) TxtData 對(duì)象的內(nèi)容
                System.out.println(data.getContent());
            }
        } catch (IOException e) {
            // 捕獲并打印可能出現(xiàn)的 IO 異常
            e.printStackTrace();
        }
    }

    // 讀取 txt 文件內(nèi)容到 List<TxtData>
    private static List<TxtData> readTxtFile(String txtFilePath) throws IOException {
        // 創(chuàng)建一個(gè)空的 List 用于存儲(chǔ) TxtData 對(duì)象
        List<TxtData> txtDataList = new ArrayList<>();
        // 使用 try-with-resources 語句創(chuàng)建 BufferedReader 來讀取 txt 文件
        try (BufferedReader reader = new BufferedReader(new FileReader(txtFilePath))) {
            String line;
            // 逐行讀取 txt 文件,直到文件末尾
            while ((line = reader.readLine()) != null) {
                // 將每行內(nèi)容封裝成 TxtData 對(duì)象并添加到列表中
                txtDataList.add(new TxtData(line));
            }
        }
        // 返回存儲(chǔ)了 txt 文件內(nèi)容的 List
        return txtDataList;
    }

    // 將 List<TxtData> 寫入 excel 文件
    private static void writeToExcel(List<TxtData> dataList, String excelFilePath) {
        // 使用 EasyExcel 的 write 方法創(chuàng)建一個(gè)寫入器
        // 指定寫入的文件路徑和數(shù)據(jù)類型
        // 然后指定工作表名稱為 "Sheet1"
        // 最后調(diào)用 doWrite 方法將數(shù)據(jù)列表寫入 excel 文件
        EasyExcel.write(excelFilePath, TxtData.class).sheet("Sheet1").doWrite(dataList);
    }

    // 從 excel 文件讀取內(nèi)容到 List<TxtData>
    private static List<TxtData> readExcelFile(String excelFilePath) {
        // 創(chuàng)建一個(gè)空的 List 用于存儲(chǔ)從 excel 文件讀取的數(shù)據(jù)
        List<TxtData> dataList = new ArrayList<>();
        // 使用 EasyExcel 的 read 方法創(chuàng)建一個(gè)讀取器構(gòu)建器
        // 指定要讀取的文件路徑和數(shù)據(jù)類型
        ExcelReaderBuilder readerBuilder = EasyExcel.read(excelFilePath, TxtData.class, null);
        // 從讀取器構(gòu)建器創(chuàng)建一個(gè)工作表讀取器構(gòu)建器
        ExcelReaderSheetBuilder sheetBuilder = readerBuilder.sheet();
        // 調(diào)用 doReadSync 方法同步讀取 excel 文件的內(nèi)容到 List 中
        dataList = sheetBuilder.doReadSync();
        // 返回存儲(chǔ)了 excel 文件內(nèi)容的 List
        return dataList;
    }
}

代碼解釋

??TxtData?? 類

這個(gè)類是一個(gè)簡(jiǎn)單的 JavaBean,用于封裝從 ??txt??? 文件中讀取的每行內(nèi)容。它包含一個(gè) ??content??? 屬性,以及對(duì)應(yīng)的 getter 和 setter 方法,還有一個(gè)構(gòu)造函數(shù)用于初始化 ??content?? 屬性。

??readTxtFile?? 方法

該方法接受一個(gè) ??txt??? 文件的路徑作為參數(shù),使用 ??BufferedReader??? 逐行讀取 ??txt??? 文件的內(nèi)容。每讀取一行,就將其封裝成一個(gè) ??TxtData??? 對(duì)象,并添加到 ??List<TxtData>?? 中。最后返回這個(gè)列表。

??writeToExcel?? 方法

該方法接受一個(gè) ??List<TxtData>??? 和一個(gè) ??excel??? 文件的路徑作為參數(shù)。使用 ??EasyExcel??? 的 ??write??? 方法創(chuàng)建一個(gè)寫入器,指定寫入的文件路徑和數(shù)據(jù)類型,然后指定工作表名稱為 "Sheet1",最后調(diào)用 ??doWrite??? 方法將數(shù)據(jù)列表寫入 ??excel?? 文件。

??readExcelFile?? 方法

該方法接受一個(gè) ??excel??? 文件的路徑作為參數(shù)。使用 ??EasyExcel??? 的 ??read??? 方法創(chuàng)建一個(gè)讀取器構(gòu)建器,指定要讀取的文件路徑和數(shù)據(jù)類型。然后從讀取器構(gòu)建器創(chuàng)建一個(gè)工作表讀取器構(gòu)建器,調(diào)用 ??doReadSync??? 方法同步讀取 ??excel??? 文件的內(nèi)容到 ??List<TxtData>?? 中,并返回這個(gè)列表。

??main?? 方法

這是程序的入口點(diǎn),它依次調(diào)用 ??readTxtFile???、??writeToExcel??? 和 ??readExcelFile??? 方法,完成 ??txt??? 文件到 ??excel??? 文件的轉(zhuǎn)換,并將 ??excel??? 文件內(nèi)容讀取到 ??List??? 中,最后打印出 ??List?? 中的內(nèi)容。

注意事項(xiàng)

請(qǐng)確保將 ??txtFilePath??? 和 ??excelFilePath??? 替換為你實(shí)際的文件路徑。如果文件路徑不存在或文件無法訪問,可能會(huì)拋出 ??IOException?? 異常。

通過以上步驟,你就可以使用 Java 代碼將 ??txt??? 文件轉(zhuǎn)換為 ??excel??? 文件,并將 ??excel??? 文件內(nèi)容讀取到 ??List?? 集合中了。

到此這篇關(guān)于Java實(shí)現(xiàn)TXT轉(zhuǎn)Excel并讀取Excel內(nèi)容到List集合的完整代碼的文章就介紹到這了,更多相關(guān)Java TXT轉(zhuǎn)Excel并讀取到List內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多線程 volatile關(guān)鍵字詳解

    Java多線程 volatile關(guān)鍵字詳解

    這篇文章主要介紹了Java多線程 volatile關(guān)鍵字詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java中輕量級(jí)http開發(fā)庫Unirest使用及實(shí)用技巧

    Java中輕量級(jí)http開發(fā)庫Unirest使用及實(shí)用技巧

    Unirest for Java 是一個(gè)輕量級(jí)、易于使用的 HTTP 客戶端庫,旨在簡(jiǎn)化 Java 應(yīng)用程序中的 HTTP 請(qǐng)求發(fā)送和響應(yīng)處理,本文詳細(xì)介紹它的主要特性、基本用法以及一些實(shí)用技巧,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • java HashMap的keyset實(shí)例

    java HashMap的keyset實(shí)例

    簡(jiǎn)單地說,在keyset方法返回的set上做修改會(huì)改變?cè)瓉韍ashmap,這也許不是你想要的,于是形成一個(gè)隱藏的bug
    2013-04-04
  • 在SpringBoot啟動(dòng)時(shí)執(zhí)行特定代碼的常見方法小結(jié)

    在SpringBoot啟動(dòng)時(shí)執(zhí)行特定代碼的常見方法小結(jié)

    本文總結(jié)了SpringBoot啟動(dòng)時(shí)執(zhí)行代碼的5種方法,涵蓋@PostConstruct、CommandLineRunner、ApplicationRunner、ApplicationListener及@EventListener,各方法適用于不同場(chǎng)景,需要的朋友可以參考下
    2025-08-08
  • 詳解如何使用MyBatis簡(jiǎn)化JDBC開發(fā)

    詳解如何使用MyBatis簡(jiǎn)化JDBC開發(fā)

    JavaEE?企業(yè)級(jí)?Java?項(xiàng)目中的經(jīng)典三層架構(gòu)為表現(xiàn)層,業(yè)務(wù)層和持久層.MyBatis?對(duì)?JDBC?代碼進(jìn)行了封裝,作為一款優(yōu)秀的持久層框架,專門用于簡(jiǎn)化JDBC開發(fā).本文主要介紹一下如何使用MyBatis簡(jiǎn)化JDBC開發(fā),需要的可以參考一下
    2023-01-01
  • Java FTPClient實(shí)現(xiàn)文件上傳下載

    Java FTPClient實(shí)現(xiàn)文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了Java FTPClient實(shí)現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • Java Swing 多線程加載圖片(保證順序一致)

    Java Swing 多線程加載圖片(保證順序一致)

    這篇文章主要為大家詳細(xì)介紹了Java Swing 多線程加載圖片,保證順序一致,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Springboot傳參詳解

    Springboot傳參詳解

    這篇文章主要介紹了Springboot傳參的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • SpringCloud?Feign使用ApacheHttpClient代替默認(rèn)client方式

    SpringCloud?Feign使用ApacheHttpClient代替默認(rèn)client方式

    這篇文章主要介紹了SpringCloud?Feign使用ApacheHttpClient代替默認(rèn)client方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • kibana中ES修改某個(gè)字段類型問題小結(jié)

    kibana中ES修改某個(gè)字段類型問題小結(jié)

    這篇文章主要介紹了kibana中ES修改某個(gè)字段類型問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論

盐源县| 乌兰浩特市| 黄浦区| 安新县| 南宫市| 资源县| 固镇县| 舟曲县| 桐城市| 罗田县| 肇东市| 田林县| 弥勒县| 大丰市| 九龙坡区| 五常市| 靖州| 乾安县| 青州市| 宁安市| 田阳县| 滕州市| 和田市| 麻阳| 贵阳市| 湟中县| 河南省| 绥江县| 达日县| 福海县| 班玛县| 苏尼特右旗| 高台县| 临沂市| 广灵县| 双辽市| 云林县| 根河市| 石景山区| 黎城县| 洮南市|