博客 / 詳情

返回

使用 Java 將 CSV 文件轉換為格式化的 Excel 文件

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

本文將介紹如何使用 Java 將 CSV 文件轉換為 Excel 文件,並根據需求添加樣式優化,讓輸出結果更美觀、更專業。

  • 將 CSV 轉換為 Excel(.xlsx)
  • 轉換並格式化Excel輸出樣式

安裝依賴

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

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

示例 1:快速將 CSV 轉換為 Excel

如果只是將 CSV 文件轉換為 .xlsx 文件,無需任何格式調整,可以使用如下簡單代碼實現:

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 轉換為 Excel 文件,保留原始內容結構,默認編碼為 UTF-8。如果你的 CSV 使用的是其他分隔符(如分號),可以通過調整第二個參數來修改。

示例 2:轉換並格式化輸出樣式

在實際業務中,我們往往希望輸出的 Excel 更具可讀性,例如將表頭加粗、設置背景色、為數字列添加格式等。下面的示例展示瞭如何在轉換後進行樣式優化:

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);

        // 設置表頭樣式(第一行)
        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);
        }

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

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

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

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

  1. 表頭高亮:加粗文字並設置淺黃色背景;
  2. 數字列格式化:以千分位並保留兩位小數方式展示;
  3. 列寬自適應:根據內容長度自動調整寬度,避免文本截斷。

效果對比

未格式化版本:

簡單格式化後的 Excel:

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

總結

通過本文示例,你可以輕鬆地將 CSV 文件轉換為 Excel 文檔,並添加基本的樣式和格式,提升數據的可視化效果。無論是用於內部報表、客户數據導出,還是定期自動化輸出,Spire.XLS for Java 都能為你提供高效且靈活的解決方案。

更多功能與接口説明,請參考 Spire.XLS 官方文檔。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.