兑谓 发表于 2025-8-4 19:05:52

国产化Excel处理组件Spire.XLS教程:使用 Java 将 CSV 转换为 Excel


将 CSV 文件转换为 Excel 是 Java 开发者在进行数据报表、分析流程或文件转换时常见的操作。虽然可以手动解析 CSV 文件,但这种方式不仅代码繁琐,而且格式控制能力有限。借助如 Spire.XLS for Java 这样的专业 Excel 库,可以极大简化处理流程,同时实现对布局、样式、模板以及数据整合的全面控制。
E-iceblue旗下Spire系列产品,是文档处理领域的佼佼者,支持国产化信创。本文将带你逐步了解多种使用场景,介绍如何借助 Spire.XLS for Java 使用 Java 将 CSV 转换为 Excel,包括基本的导入导出、样式设置、注入模板数据、以及将多个 CSV 文件合并为一个 Excel 工作簿等内容。
Spire.XLS for Java免费试用下载,请联系Spire官方授权代理商慧都科技
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
在 Java 项目中配置 Spire.XLS

在进行 CSV 到 Excel 的转换前,需要将 Spire.XLS for Java 引入到项目中。该库支持 .xls 与 .xlsx 文件格式,并提供简洁的 API,无需安装 Microsoft Office 即可创建和操作 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>
      spire.xls</artifactId>
      <version>15.7.7</version>
    </dependency>
</dependencies>手动引入 JAR 包
你也可以下载 Spire.XLS for Java,并手动将 JAR 文件添加到项目的类路径中。
Spire.XLS for Java免费试用下载,请联系Spire官方授权代理商慧都科技
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
使用 Java 将 CSV 文件转换为 Excel

最基本的使用场景是将一个 .csv 文件转换为 .xlsx 或 .xls 格式。使用 Spire.XLS,只需两步即可完成:使用 loadFromFile() 加载 CSV,使用 saveToFile() 保存为 Excel 文件。
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);
    }
}若要输出为 .xls 格式,只需将版本参数改为 ExcelVersion.Version97to2003。
以下是转换结果示意图:

此外,你还可以自定义分隔符,或设置起始的行和列位置,非常适合已有标题或固定布局的场景:
workbook.loadFromFile("data_semicolon.csv", ";", 3, 2);使用 Java 设置 Excel 输出格式

在生成用于报表或客户展示的 Excel 文件时,设置样式能显著提升可读性与专业感。Spire.XLS 支持通过 CellStyle 类自定义字体、颜色、数字格式等,并支持自动调整列宽。
示例:设置样式并自动调整列宽

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.getFont().setSize(14f);      headerStyle.setKnownColor(ExcelColors.LightYellow);      for (int col = 1; colname.endsWith(".csv"));      Workbook workbook = new Workbook();      workbook.getWorksheets().clear();      Worksheet sheet = workbook.getWorksheets().add("Sample");      int startRow = 1;      boolean isFirstFile = true;      for (File csv : csvFiles) {            Workbook temp = new Workbook();            temp.loadFromFile(csv.getAbsolutePath(), ",");            Worksheet tempSheet = temp.getWorksheets().get(0);            int startReadRow = isFirstFile ? 1 : 2;            isFirstFile = false;            for (int r = startReadRow; r
页: [1]
查看完整版本: 国产化Excel处理组件Spire.XLS教程:使用 Java 将 CSV 转换为 Excel