java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java CSV转Excel

Java高效实现CSV转Excel的三种方法详解

作者:用户372157426135

​在日常开发工作中,CSV 文件作为一种简单、轻便的数据存储格式,常被用于数据交换和存储,本篇文章将分享几种基于 Java 的 CSV 转 Excel 方法,希望对大家有所帮助

​在日常开发工作中,CSV 文件作为一种简单、轻便的数据存储格式,常被用于数据交换和存储。但当需要对数据进行分析、生成报表,或者将数据分享给其他人时,Excel 格式往往更具优势。它不仅易于操作,还支持更多的格式化选项,适合做进一步的数据处理和展示。

本篇文章将分享几种基于 Java 的 CSV 转 Excel 方法,帮助你在开发中更高效地实现这种常见的数据转换操作。

安装依赖

在开始编写代码之前,你需要引入相关的 Java 库。我们将使用一个常见的 Spire.XLS 库来实现 CSV 转 Excel 操作。以下是 Maven 配置示例:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>15.10.5</version>
    </dependency>
</dependencies>

添加这个依赖后,你就可以开始使用相应的 API 来操作 Excel 文件了。

示例一:简单的 CSV 转 Excel

对于许多场景,简单地将 CSV 文件转换成 Excel 就能满足需求。这里,我们展示了一个基础的实现方法,只需几行代码就能完成任务。

import com.spire.xls.*;

public class CsvToXlsx {
    public static void main(String[] args) {
        Workbook workbook = new Workbook();
        workbook.loadFromFile("数据.csv", ",");  // 加载CSV文件
        workbook.saveToFile("输出.xlsx", ExcelVersion.Version2013);  // 保存为Excel文件
    }
}

代码解析

这种方法适用于那些只需要快速转换文件格式的场景,不涉及复杂的格式化需求。

示例二:格式化 Excel 文件

如果你希望在转换过程中对 Excel 文件进行格式化操作,比如设置表头样式或调整列宽等,以下示例可以提供一个更完整的解决方案。

import com.spire.xls.*;

public class CsvToXlsx {
    public static void main(String[] args) {
        Workbook workbook = new Workbook();
        workbook.loadFromFile("数据.csv", ",");  // 加载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);  // 设置表头样式
        }

        // 格式化数字列
        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("格式化输出.xlsx", ExcelVersion.Version2013);  // 保存为Excel文件
    }
}

代码解析

这种方法适合需要进一步美化数据和确保数据展示效果的场景。

示例三:批量处理多个 CSV 文件

有时候,我们需要将多个 CSV 文件合并为一个 Excel 文件。这种需求在处理大量数据时尤其常见。以下示例展示了如何批量处理多个 CSV 文件,并将它们合并到一个 Excel 文件中。

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

public class CsvToXlsx {
    public static void main(String[] args) {
        // 获取 CSV 文件夹中的所有文件
        File[] csvFiles = new File("CSVs/").listFiles((dir, name) -> name.endsWith(".csv"));
        // 创建一个新的工作簿,并清空所有工作表
        Workbook workbook = new Workbook();
        workbook.getWorksheets().clear();

        for (File csv : csvFiles) {
            // 加载 CSV 文件
            Workbook temp = new Workbook();
            temp.loadFromFile(csv.getAbsolutePath(), ",");
            // 将 CSV 文件添加到工作簿的一个工作表中
            workbook.getWorksheets().addCopy(temp.getWorksheets().get(0));
        }

        // 保存合并后的 Excel 文件
        workbook.saveToFile("合并输出.xlsx", ExcelVersion.Version2016);
    }
}

代码解析

这种方法非常适合需要处理多个 CSV 文件并将它们合并为一个 Excel 文件的场景。

总结

通过以上几个示例,我们展示了如何在 Java 中高效地将 CSV 文件转换为 Excel 文件。从简单的转换到格式化操作,再到批量处理多个文件,所有这些操作都可以轻松完成。根据不同的需求,你可以选择最适合的实现方式。

到此这篇关于Java高效实现CSV转Excel的三种方法详解的文章就介绍到这了,更多相关Java CSV转Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文