news 2026/5/3 17:11:01

快速创建与读取 Excel:Java 开发者必备的 Spire.XLS 实战技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速创建与读取 Excel:Java 开发者必备的 Spire.XLS 实战技巧

在现代软件开发中,Excel 文档的管理和操作是一个常见的需求。无论是在数据分析、报表生成,还是在管理信息系统中,Excel 都扮演着重要的角色。本文将介绍如何使用 Spire.XLS for Java 库,以便轻松地读写 Excel 文档。

Spire.XLS for Java 简介

Spire.XLS 是一款强大的 Java Excel 组件,支持高效的 Excel 文件创建、编辑、读取和转换功能。无论是 .xlsx 还是 .xls 格式的文件,这个库都能轻松处理。它不仅提供了广泛的 API,还具备快速的性能和良好的文档支持,使得开发者在处理表格时更加高效。

使用 Maven 安装 Spire.XLS for Java

如果你的项目使用 Maven 作为构建工具,可以通过在 pom.xml 文件中添加以下依赖来安装 Spire.XLS:

<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls</artifactId> <version>15.12.15</version> </dependency> </dependencies>

这样,Maven 会自动下载并包含所需的库文件,方便你在项目中使用。

读取 Excel 文件

在这一部分,我们将介绍如何读取 Excel 文件中的数据。以下是一个简单的示例代码,展示了如何加载已有的 Excel 文件,并输出其内容。

import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadData { public static void main(String[] args) { // 创建一个 Workbook 对象 Workbook wb = new Workbook(); // 加载现有的 Excel 文件 wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx"); // 获取第一个工作表 Worksheet sheet = wb.getWorksheets().get(0); // 获取包含数据的单元格范围 CellRange locatedRange = sheet.getAllocatedRange(); // 遍历行 for (int i = 0; i < locatedRange.getRows().length; i++) { // 遍历列 for (int j = 0; j < locatedRange.getColumnCount(); j++) { // 获取特定单元格的数据 System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " "); } System.out.println(); } } }

代码解析

  1. Workbook 对象:创建一个Workbook对象,用于加载 Excel 文件。
  2. 加载文件:通过loadFromFile方法加载存在的 Excel 文件。
  3. 获取工作表:通过getWorksheets().get(0)方法获得第一个工作表。
  4. 遍历数据:使用双重循环遍历每一行和每一列,打印出单元格中的值。

写入 Excel 文件

接下来,我们将展示如何创建新的 Excel 文件,设置工作表的基本信息,并写入数据。

import com.spire.xls.*; public class CreateSpreadsheet { public static void main(String[] args) { // 创建一个 Workbook 对象 Workbook wb = new Workbook(); // 移除默认工作表 wb.getWorksheets().clear(); // 添加一个名为 "员工" 的工作表 Worksheet sheet = wb.getWorksheets().add("员工"); // 合并 A1 到 G1 的单元格 sheet.getRange().get("A1:G1").merge(); // 向 A1 写入数据并应用格式 sheet.getRange().get("A1").setValue("华宇汽车公司员工基本信息"); sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center); sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center); sheet.getRange().get("A1").getStyle().getFont().isBold(true); sheet.getRange().get("A1").getStyle().getFont().setSize(13); // 设置第一行的高度 sheet.setRowHeight(1, 30); // 创建一个二维数组 String[][] twoDimensionalArray = new String[][]{ {"姓名", "性别", "出生日期", "学历", "联系电话", "职位", "编号"}, {"艾伦", "男", "1990-02-10", "本科", "24756854", "机械师", "0021"}, {"帕特里克", "男", "1985-06-08", "硕士", "59863247", "机械师", "0022"}, {"珍娜", "女", "1989-11-25", "本科", "79540352", "销售", "0023"}, {"汤米", "男", "1988-04-16", "硕士", "52014060", "机械师", "0024"}, {"克里斯蒂娜", "女", "1998-01-21", "本科", "35401489", "人力资源", "0025"} }; // 从数组导入数据到工作表 sheet.insertArray(twoDimensionalArray, 2, 1); // 设置一个范围的行高 sheet.getRange().get("A2:G7").setRowHeight(15); // 设置列宽 sheet.setColumnWidth(2, 15); sheet.setColumnWidth(3, 21); sheet.setColumnWidth(4, 15); // 设置边框样式 sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium); sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin); sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium); sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black); // 保存为 .xlsx 文件 wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016); } }

代码解析

  1. Workbook 对象:创建一个新的 Workbook 对象。
  2. 删除默认工作表:通过 clear 方法删除默认的工作表。
  3. 添加工作表:创建一个名为 "员工" 的工作表。
  4. 合并单元格:合并 A1 到 G1 的单元格。
  5. 写入数据:设置 A1 单元格的值,并调整其格式。
  6. 插入数组数据:将二维数组的数据插入到工作表中。
  7. 设置边框和格式:设置行高、列宽及单元格的边框样式。
  8. 保存文件:将工作簿保存为一个新的 Excel 文件。

总结

通过使用 Spire.XLS for Java 程序库,我们可以方便地处理 Excel 文档。无论是读取已有的数据,还是生成新的表格,Spire.XLS 都提供了极大的便利。它简单易用的 API 和丰富的功能特性,使得 Java 开发者能够轻松实现各种 Excel 操作。希望本文能够帮助你快速上手,也期待你在实际应用中发现它的更多潜能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:39:16

SSH连接PyTorch-CUDA开发环境:远程调试与部署操作指南

SSH连接PyTorch-CUDA开发环境&#xff1a;远程调试与部署操作指南 在深度学习项目日益复杂的今天&#xff0c;开发者常常面临一个现实困境&#xff1a;本地笔记本只能跑几个epoch就发烫降频&#xff0c;而训练真正的大模型却需要A100集群。更头疼的是&#xff0c;团队成员用着不…

作者头像 李华
网站建设 2026/5/3 15:40:45

Lua中的URL编码与解码:深入理解urlEncode和urlDecode

引言 在网络编程中&#xff0c;URL编码&#xff08;也称为百分号编码&#xff09;是一项基础而重要的技术。当我们通过HTTP协议传输数据时&#xff0c;某些特殊字符&#xff08;如空格、问号、等号等&#xff09;在URL中具有特殊含义&#xff0c;如果数据中包含这些字符&#…

作者头像 李华
网站建设 2026/4/29 17:30:51

Spring Boot 校园电动车租赁系统

Spring Boot 校园电动车租赁系统介绍 在校园面积不断扩大&#xff0c;师生短距离出行需求日益增长的当下&#xff0c;Spring Boot 校园电动车租赁系统为校园交通出行提供了便捷、高效的解决方案&#xff0c;助力打造绿色、智能的校园出行环境。Spring Boot 凭借其卓越的开发特性…

作者头像 李华
网站建设 2026/4/23 10:11:14

Conda与Pip混合安装PyTorch的风险及规避策略

Conda与Pip混合安装PyTorch的风险及规避策略 在深度学习项目开发中&#xff0c;一个看似不起眼的操作——先用 conda install pytorch 安装主框架&#xff0c;再执行 pip install torch-geometric 或升级某个依赖包——可能正悄悄埋下一颗“定时炸弹”。这颗炸弹不会立刻引爆&a…

作者头像 李华
网站建设 2026/4/29 2:44:59

DiskInfo预警阈值设置:主动防御数据风险

DiskInfo预警阈值设置&#xff1a;主动防御数据风险 在深度学习项目中&#xff0c;一次漫长的训练任务可能持续数天甚至数周。想象一下&#xff0c;当模型已经跑完90个epoch&#xff0c;正接近收敛时&#xff0c;系统突然报出 No space left on device 错误——所有进度瞬间归零…

作者头像 李华
网站建设 2026/5/1 19:15:13

PyTorch-CUDA-v2.7镜像启动时间优化报告

PyTorch-CUDA-v2.7镜像启动时间优化报告 在深度学习研发实践中&#xff0c;一个常见的痛点是&#xff1a;新成员入职第一天&#xff0c;花了一整天时间还在装驱动、配环境、解决版本冲突——而此时别人已经在跑实验了。这种“在我机器上能跑”的尴尬局面&#xff0c;在团队协作…

作者头像 李华