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

使用Java將CSV文件轉(zhuǎn)換為格式化的Excel文件

 更新時間:2025年12月09日 09:55:05   作者:大丸子  
在日常的數(shù)據(jù)處理和報表生成工作中,CSV 格式因其簡潔性而被廣泛采用,但在展示數(shù)據(jù)時,CSV 文件往往缺乏格式和結(jié)構(gòu)化樣式,不利于閱讀與分析,所以本文將介紹如何使用 Java 將 CSV 文件轉(zhuǎn)換為 Excel 文件,需要的朋友可以參考下

引言

在日常的數(shù)據(jù)處理和報表生成工作中,CSV 格式因其簡潔性而被廣泛采用。但在展示數(shù)據(jù)時,CSV 文件往往缺乏格式和結(jié)構(gòu)化樣式,不利于閱讀與分析。相比之下,Excel 格式(如 .xlsx)不僅支持豐富的樣式設(shè)置,還可直接用于報表分發(fā)和打印。

本文將介紹如何使用 Java 將 CSV 文件轉(zhuǎn)換為 Excel 文件,并根據(jù)需求添加樣式優(yōu)化,讓輸出結(jié)果更美觀、更專業(yè)。

  • 將 CSV 轉(zhuǎn)換為 Excel(.xlsx)
  • 轉(zhuǎn)換并格式化Excel輸出樣式

安裝依賴

在使用前,需要將 JAR 包引入項目。你可以在 Free Spire.XLS for Java 官方網(wǎng)站 下載,也可以通過 Maven 集成:

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls.free</artifactId>
    <version>5.3.0</version>
</dependency>

示例 1:快速將 CSV 轉(zhuǎn)換為 Excel

如果只是將 CSV 文件轉(zhuǎn)換為 .xlsx 文件,無需任何格式調(diào)整,可以使用如下簡單代碼實現(xiàn):

import com.spire.xls.*;

public class CsvToXlsx {
    public static void main(String[] args) {
        Workbook workbook = new Workbook();
        workbook.loadFromFile("data.csv", ",");
        workbook.saveToFile("output.xlsx", ExcelVersion.Version2013);
    }
}

上述代碼會將 data.csv 轉(zhuǎn)換為 Excel 文件,保留原始內(nèi)容結(jié)構(gòu),默認編碼為 UTF-8。如果你的 CSV 使用的是其他分隔符(如分號),可以通過調(diào)整第二個參數(shù)來修改。

示例 2:轉(zhuǎn)換并格式化輸出樣式

在實際業(yè)務(wù)中,我們往往希望輸出的 Excel 更具可讀性,例如將表頭加粗、設(shè)置背景色、為數(shù)字列添加格式等。下面的示例展示了如何在轉(zhuǎn)換后進行樣式優(yōu)化:

import com.spire.xls.*;

public class CsvToXlsx {
    public static void main(String[] args) {
        Workbook workbook = new Workbook();
        workbook.loadFromFile("data.csv", ",");

        Worksheet sheet = workbook.getWorksheets().get(0);

        // 設(shè)置表頭樣式(第一行)
        CellStyle headerStyle = workbook.getStyles().addStyle("Header");
        headerStyle.getFont().isBold(true);
        headerStyle.setKnownColor(ExcelColors.LightYellow);
        for (int col = 1; col <= sheet.getLastColumn(); col++) {
            sheet.getCellRange(1, col).setStyle(headerStyle);
        }

        // 設(shè)置數(shù)字列格式(示例中為 B 列)
        CellStyle numStyle = workbook.getStyles().addStyle("Numbers");
        numStyle.setNumberFormat("#,##0.00");
        sheet.getCellRange("B2:B100").setStyle(numStyle);

        // 自動適應(yīng)所有列寬
        for (int i = 1; i <= sheet.getLastRow(); i++) {
            sheet.autoFitColumn(i);
        }

        workbook.saveToFile("formatted_output.xlsx", ExcelVersion.Version2013);
    }
}

這段代碼主要完成了三項增強:

  • 表頭高亮:加粗文字并設(shè)置淺黃色背景;
  • 數(shù)字列格式化:以千分位并保留兩位小數(shù)方式展示;
  • 列寬自適應(yīng):根據(jù)內(nèi)容長度自動調(diào)整寬度,避免文本截斷。

效果對比

未格式化版本:

簡單格式化后的 Excel:

并且表頭具備背景色,更加清晰醒目。

總結(jié)

通過本文示例,你可以輕松地將 CSV 文件轉(zhuǎn)換為 Excel 文檔,并添加基本的樣式和格式,提升數(shù)據(jù)的可視化效果。無論是用于內(nèi)部報表、客戶數(shù)據(jù)導(dǎo)出,還是定期自動化輸出,Spire.XLS for Java 都能為你提供高效且靈活的解決方案。

以上就是使用Java將CSV文件轉(zhuǎn)換為格式化的Excel文件的詳細內(nèi)容,更多關(guān)于Java CSV文件轉(zhuǎn)換Excel的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java使用Socket類接收和發(fā)送數(shù)據(jù)

    java使用Socket類接收和發(fā)送數(shù)據(jù)

    Socket類是負責處理客戶端通信的Java類。本文主要是介紹java使用Socket類接收和發(fā)送數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • java日期處理工具類

    java日期處理工具類

    這篇文章主要為大家詳細介紹了java日期處理工具類,其次還介紹了日期處理的基礎(chǔ)知識,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SpringBoot基于Mybatis-Plus自動代碼生成

    SpringBoot基于Mybatis-Plus自動代碼生成

    這篇文章主要介紹了SpringBoot基于Mybatis-Plus自動代碼生成,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-04-04
  • java自動裝箱拆箱深入剖析

    java自動裝箱拆箱深入剖析

    基本數(shù)據(jù)(Primitive)類型的自動裝箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0開始提供的功能。java語言規(guī)范中說道:在許多情況下包裝與解包裝是由編譯器自行完成的(在這種情況下包裝成為裝箱,解包裝稱為拆箱)
    2012-11-11
  • redis scan命令導(dǎo)致redis連接耗盡,線程上鎖的解決

    redis scan命令導(dǎo)致redis連接耗盡,線程上鎖的解決

    這篇文章主要介紹了redis scan命令導(dǎo)致redis連接耗盡,線程上鎖的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • java實現(xiàn)簡單音樂播放器

    java實現(xiàn)簡單音樂播放器

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 詳解Java8新特性如何防止空指針異常

    詳解Java8新特性如何防止空指針異常

    要說 Java 編程中哪個異常是你印象最深刻的,那 NullPointerException 空指針可以說是臭名昭著的,不要說初級程序員會碰到, 即使是中級,專家級程序員稍不留神,就會掉入這個坑里,本文就和大家聊聊Java8新特性如何防止空指針異常
    2023-08-08
  • 全面解析Hibernate關(guān)聯(lián)操作、查詢操作、高級特性、并發(fā)處理機制

    全面解析Hibernate關(guān)聯(lián)操作、查詢操作、高級特性、并發(fā)處理機制

    這篇文章主要介紹了全面解析Hibernate關(guān)聯(lián)操作、查詢操作、高級特性、并發(fā)處理機制的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • javaweb Servlet開發(fā)總結(jié)(二)

    javaweb Servlet開發(fā)總結(jié)(二)

    這篇文章主要為大家詳細介紹了javaweb Servlet開發(fā)總結(jié)的第二篇,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Java基礎(chǔ)教程之封裝與接口

    Java基礎(chǔ)教程之封裝與接口

    這篇文章主要介紹了Java基礎(chǔ)教程之封裝與接口,本文用淺顯易懂的語言講解了Java中的封裝與接口,很形象的說明了這兩個面向?qū)ο笮g(shù)語,需要的朋友可以參考下
    2014-08-08

最新評論

容城县| 汶川县| 咸丰县| 道孚县| 克什克腾旗| 泰和县| 慈溪市| 嘉兴市| 丹东市| 改则县| 小金县| 阜康市| 同心县| 乌苏市| 夏河县| 丹东市| 衡山县| 栾川县| 安义县| 获嘉县| 和顺县| 湘潭市| 吉木萨尔县| 来安县| 北碚区| 织金县| 上栗县| 阜新| 苏尼特左旗| 恩施市| 含山县| 宜阳县| 木兰县| 龙里县| 阳东县| 济阳县| 武义县| 乌兰浩特市| 尼勒克县| 咸阳市| 巴里|