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

Java實現(xiàn)Excel與TXT文本的高效互轉

 更新時間:2025年09月18日 08:16:16   作者:用戶372157426135  
在日常開發(fā)中,我們經常需要在不同的數(shù)據(jù)存儲格式之間進行轉換,本文將分享如何在 Java 中高效實現(xiàn) Excel 與 TXT 的互轉,有需要的小伙伴可以了解下

在日常開發(fā)中,我們經常需要在不同的數(shù)據(jù)存儲格式之間進行轉換,其中 Excel 和 TXT 是最常見的兩種格式。Excel 以表格形式存儲數(shù)據(jù),支持豐富的格式、公式和多種數(shù)據(jù)類型,適合報表生成、統(tǒng)計分析等場景。TXT 是純文本格式,簡單輕量,便于跨平臺傳輸、日志存儲或數(shù)據(jù)交換。

在實際項目中,經常需要將 Excel 文件導出為 TXT,或者將 TXT 導入 Excel 進行進一步處理。例如,日志分析系統(tǒng)可能需要將 Excel 報表轉換為 TXT 供腳本處理;數(shù)據(jù)采集系統(tǒng)可能需要將 TXT 文件整理成 Excel 便于可視化和匯總。

本文將分享如何在 Java 中高效實現(xiàn) Excel 與 TXT 的互轉,并提供完整的示例代碼和操作說明。

一、準備工作

在開始編寫代碼之前,需要完成以下準備:

準備示例文件

  • Excel 文件(.xlsx.xls)用于導出 TXT 測試。
  • TXT 文件,每行用固定分隔符(如空格或制表符)分隔,用于導入 Excel 測試。

理解數(shù)據(jù)結構

Excel 數(shù)據(jù)按行列組織,每個單元格對應一個字段;TXT 文件每行是一個記錄,通過分隔符拆分字段。在互轉時,需要保證字段順序和數(shù)量匹配。

庫依賴安裝

本文使用的庫是 Spire.XLS for Java,它可以直接讀取、寫入和轉換 Excel .xls 和 .xlsx等文件,無需依賴 Microsoft Excel,本地或服務器環(huán)境都可以使用。

如果使用 Maven,可以在 pom.xml 中添加如下依賴:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls</artifactId>
    <version>13.9.1</version>
</dependency>

二、Excel 轉 TXT

Spire.XLS 提供了直接將工作表保存為 TXT 文件的方法,無需手動遍歷單元格,同時可以指定列分隔符和字符編碼。

示例代碼

import com.spire.xls.*;
import java.nio.charset.Charset;

public class ExcelToTxt {
    public static void main(String[] args) {
        // 創(chuàng)建 Workbook 對象,用于操作 Excel 文件
        Workbook workbook = new Workbook();

        // 加載 Excel 文件
        workbook.loadFromFile("sample.xlsx");

        // 獲取第一個工作表
        Worksheet worksheet = workbook.getWorksheets().get(0);

        // 設置字符編碼為 UTF-8,確保中文和特殊字符正確顯示
        Charset charset = Charset.forName("UTF-8");

        // 將工作表保存為 TXT 文件
        // 第二個參數(shù) " " 表示列之間使用空格分隔,也可以改為 "\t" 或 "," 等
        worksheet.saveToFile("ExcelToTxt.txt", " ", charset);

        // 提示導出完成
        System.out.println("Excel 導出 TXT 完成");
    }
}

代碼說明:

  • Worksheet.saveToFile 可直接將工作表導出為文本文件,不需要循環(huán)讀取單元格。
  • 第二個參數(shù)可以設置列間分隔符,比如空格 " " 或制表符 "\t"。
  • 指定 UTF-8 編碼可確保中文或特殊字符不會出現(xiàn)亂碼。
  • 這種方式適合數(shù)據(jù)量較大時快速導出。

三、TXT 轉 Excel

將 TXT 導入 Excel 時,需要按行讀取文本,拆分字段,然后寫入對應單元格。

示例代碼

import com.spire.xls.*;
import java.io.*;

public class TxtToExcel {
    public static void main(String[] args) {
        // 創(chuàng)建 Workbook 對象,用于寫入 Excel
        Workbook workbook = new Workbook();

        // 獲取第一個工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 使用 BufferedReader 按行讀取 TXT 文件
        try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
            String line;
            int rowIndex = 0; // 當前寫入的行號

            // 逐行讀取 TXT 文件
            while ((line = reader.readLine()) != null) {
                // 按空格拆分每行的字段
                String[] values = line.split(" ");

                // 將拆分后的字段寫入 Excel 單元格
                for (int colIndex = 0; colIndex < values.length; colIndex++) {
                    sheet.getCellRange(rowIndex, colIndex).setText(values[colIndex]);
                }

                // 行號遞增,寫入下一行
                rowIndex++;
            }

            // 保存 Excel 文件,指定 Excel 版本為 2013
            workbook.saveToFile("output.xlsx", ExcelVersion.Version2013);

            // 提示導入完成
            System.out.println("TXT 導入 Excel 完成");
        } catch (IOException e) {
            // 打印異常信息
            e.printStackTrace();
        }
    }
}

代碼說明:

  • 使用 BufferedReader 按行讀取,可以處理較大文件而不會一次性占用過多內存。
  • 拆分字段時,分隔符要與生成 TXT 文件時一致,確保數(shù)據(jù)列正確對應。
  • 使用 setText 寫入單元格,操作簡單直觀。

四、性能與使用建議

在處理 Excel 與 TXT 轉換時,可以注意以下幾點:

1.緩沖讀寫

使用 BufferedReaderBufferedWriter 進行文件讀寫,提高效率。

2.統(tǒng)一分隔符

導出和導入使用相同的分隔符,避免列錯位。

3.統(tǒng)一編碼

確保文件讀寫編碼一致,例如 UTF-8,防止中文或特殊字符亂碼。

4.大數(shù)據(jù)量處理

對于數(shù)據(jù)量非常大時,可以按批次處理或拆分文件,減少內存壓力。

五、小結

本文展示了在 Java 中實現(xiàn) Excel 與 TXT 文件互轉的方法:

  • Excel 轉 TXT:使用 Worksheet.saveToFile 可快速導出 TXT,無需手動循環(huán)單元格。
  • TXT 轉 Excel:逐行讀取 TXT,并按列寫入單元格,操作直觀。

通過這些方法,可以在日常開發(fā)中方便地進行報表導出、日志分析或數(shù)據(jù)遷移,同時保證數(shù)據(jù)準確性和編碼正確性。

到此這篇關于Java實現(xiàn)Excel與TXT文本的高效互轉的文章就介紹到這了,更多相關Java Excel與TXT互轉內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring事務失效場景實例詳解

    Spring事務失效場景實例詳解

    實際項目開發(fā)中,如果涉及到多張表操作時,為了保證業(yè)務數(shù)據(jù)的一致性,大家一般都會采用事務機制,好多小伙伴可能只是簡單了解一下,遇到事務失效的情況,便會無從下手,下面這篇文章主要給大家介紹了關于Spring事務失效場景的相關資料,需要的朋友可以參考下
    2022-03-03
  • java高并發(fā)的線程中斷的幾種方式詳解

    java高并發(fā)的線程中斷的幾種方式詳解

    這篇文章主要介紹了Java線程中斷機制幾種方法及示例,向大家分享了這幾種方法的介紹幾代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2021-10-10
  • IDEA修改生成jar包名字的兩種方法實現(xiàn)

    IDEA修改生成jar包名字的兩種方法實現(xiàn)

    本文主要介紹了IDEA修改生成jar包名字的兩種方法實現(xiàn),通過簡單的步驟,您可以修改項目名稱并在打包時使用新的名稱,具有一定的參考價值,感興趣的可以了解下
    2023-08-08
  • 如何實現(xiàn)java Iterator迭代器功能

    如何實現(xiàn)java Iterator迭代器功能

    這篇文章主要介紹了如何實現(xiàn)java Iterator迭代器功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Java中的靜態(tài)代碼塊使用解讀

    Java中的靜態(tài)代碼塊使用解讀

    本文將深入探討靜態(tài)代碼塊的工作原理、使用場景以及一些最佳實踐,幫助你更好地理解和應用這一特性
    2025-02-02
  • MyBatis中執(zhí)行相關SQL語句的方法

    MyBatis中執(zhí)行相關SQL語句的方法

    本文主要介紹了MyBatis中執(zhí)行相關SQL語句的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Maven中依賴沖突的排查和修復全流程指南

    Maven中依賴沖突的排查和修復全流程指南

    依賴沖突是寫?Java?項目時最常見、也最煩的坑之一,特別是在大型項目、Spring?Boot、多模塊工程里,這篇文章會帶你用最實用、最開發(fā)者視角的方法來解決?Maven?依賴沖突,有需要的可以了解下
    2025-12-12
  • 如何使用Spring Batch進行批處理任務管理

    如何使用Spring Batch進行批處理任務管理

    本文介紹了如何配置Spring Batch、如何創(chuàng)建批處理任務,以及如何讀取和寫入數(shù)據(jù),希望通過本文的介紹,你能更好地理解和使用Spring Batch來管理批處理任務,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring IOC的相關注解運用詳解

    Spring IOC的相關注解運用詳解

    這篇文章主要介紹了Spring IOC的相關注解運用詳解,純注解實現(xiàn)IOC需要一個Java類代替xml文件,這個Java類上方需要添加@Configuration,表示該類是一個配置類,作用是代替配置文件,需要的朋友可以參考下
    2023-08-08
  • Springboot應用gradle?Plugin示例詳解

    Springboot應用gradle?Plugin示例詳解

    這篇文章主要介紹了Springboot應用gradle?Plugin詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04

最新評論

泰兴市| 康马县| 娱乐| 大新县| 濉溪县| 甘泉县| 什邡市| 新竹县| 湖口县| 舒城县| 沭阳县| 土默特左旗| 勃利县| 福建省| 太湖县| 怀远县| 北票市| 内丘县| 兰坪| 五常市| 奈曼旗| 军事| 泾源县| 南宫市| 鄯善县| 林周县| 酉阳| 皮山县| 景宁| 邢台县| 神木县| 大新县| 根河市| 建水县| 福建省| 中卫市| 德安县| 敦煌市| 商南县| 桦甸市| 芦山县|