没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-07-29 11:59:04.027|阅读 14 次
概述:将 CSV 文件转换为 Excel 是 Java 开发者在进行数据报表、分析流程或文件转换时常见的操作。虽然可以手动解析 CSV 文件,但这种方式不仅代码繁琐,而且格式控制能力有限。借助如 Spire.XLS for Java 这样的专业 Excel 库,可以极大简化处理流程,同时实现对布局、样式、模板以及数据整合的全面控制。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
将 CSV 文件转换为 Excel 是 Java 开发者在进行数据报表、分析流程或文件转换时常见的操作。虽然可以手动解析 CSV 文件,但这种方式不仅代码繁琐,而且格式控制能力有限。借助如 Spire.XLS for Java 这样的专业 Excel 库,可以极大简化处理流程,同时实现对布局、样式、模板以及数据整合的全面控制。
E-iceblue旗下Spire系列产品,是文档处理领域的佼佼者,支持国产化信创。本文将带你逐步了解多种使用场景,介绍如何借助 Spire.XLS for Java 使用 Java 将 CSV 转换为 Excel,包括基本的导入导出、样式设置、注入模板数据、以及将多个 CSV 文件合并为一个 Excel 工作簿等内容。
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
在进行 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> <artifactId>spire.xls</artifactId> <version>15.7.7</version> </dependency> </dependencies>
手动引入 JAR 包
你也可以下载 Spire.XLS for Java,并手动将 JAR 文件添加到项目的类路径中。
最基本的使用场景是将一个 .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);
在生成用于报表或客户展示的 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; 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); // 统一设置字体自动调整列宽 sheet.getRange().getStyle().getFont().setFontName("微软雅黑"); for (int i = 1; i <= sheet.getLastRow(); i++) { sheet.autoFitColumn(i); } workbook.saveToFile("formatted_output.xlsx", ExcelVersion.Version2013); } }以下是带有格式的 Excel 输出示例:
如果你想将数据导入到预设的 Excel 模板中,只需加载现有 .xlsx 文件,并使用如 insertArray() 插入数组。请注意,模板格式不会自动应用,仍需手动设置样式。
当处理批量数据或多个来源的数据时,通常需要将多个 CSV 文件合并为一个 Excel 文件。Spire.XLS 支持以下两种方式:
import com.spire.xls.*; import java.io.File; public class CsvToXlsx { public static void main(String[] args) { File[] csvFiles = new File("CSVs/").listFiles((dir, name) -> name.endsWith(".csv")); Workbook workbook = new Workbook(); workbook.getWorksheets().clear(); for (File csv : csvFiles) { Workbook temp = new Workbook(); temp.loadFromFile(csv.getAbsolutePath(), ","); workbook.getWorksheets().addCopy(temp.getWorksheets().get(0)); } workbook.saveToFile("merged.xlsx", ExcelVersion.Version2016); } }下图展示了多个工作表组成的 Excel 文件:
import com.spire.xls.*; import java.io.File; public class CsvToXlsx { public static void main(String[] args) { File[] csvFiles = new File("CSVs/").listFiles((dir, name) -> name.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 <= tempSheet.getLastRow(); r++) { for (int c = 1; c <= tempSheet.getLastColumn(); c++) { sheet.getCellRange(startRow, c).setValue(tempSheet.getCellRange(r, c).getText()); } startRow++; } } workbook.saveToFile("merged_single_sheet.xlsx", ExcelVersion.Version2016); } }
以下是合并结果的截图:
错误及解决方法:
请确保 CSV 文件采用 UTF-8 编码。
检查使用的分隔符是否一致。
考虑将其拆分为多个工作表,提高处理效率。
先统一字段结构或列标题,再执行合并操作。
使用 Workbook.loadFromFile("file.csv", ",") 加载 CSV 文件,然后使用 saveToFile("output.xlsx", ExcelVersion.Version2016) 保存为 .xlsx 文件。
可以。通过 CellStyle 类可设置字体、颜色、对齐方式、数字格式等。
完全可以。加载 .xlsx 模板文件后,通过 setText() 或 insertDataTable() 方法注入数据。
可以选择每个 CSV 为一个工作表,或将它们逐行追加合并到一个工作表中。
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网将 CSV 文件转换为 Excel 是 Java 开发者在进行数据报表、分析流程或文件转换时常见的操作。虽然可以手动解析 CSV 文件,但这种方式不仅代码繁琐,而且格式控制能力有限。借助如 Spire.XLS for Java 这样的专业 Excel 库,可以极大简化处理流程,同时实现对布局、样式、模板以及数据整合的全面控制。
本教程主要为大家介绍DevExpress WinForms数据网格控件中的分组行API,欢迎下载最新版组件体验!
在某些情况下,您可能需要从 Visio 图表中读取形状数据。在本文中,我们将向您展示如何借助图表控件Aspose.Diagram,使用 Java 以清晰简单的方式读取形状数据。
在处理包含图片的 PDF 文件时,例如扫描文档、产品手册或宣传资料,我们经常需要将其中的图像提取出来,用于保存、识别或再加工。本文将介绍如何使用 Spire.PDF for Java 实现 从 PDF 中提取图片,并提供基础操作方法与高级提取技巧。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号