news 2026/5/1 8:47:08

快速创建与读取 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/5/1 1:49:00

SSH密钥登录PyTorch容器:增强安全性与便捷性

SSH密钥登录PyTorch容器&#xff1a;增强安全性与便捷性 在深度学习项目日益复杂、团队协作频繁的今天&#xff0c;如何快速搭建一个既安全又高效的开发环境&#xff0c;成为每个AI工程师必须面对的问题。尤其是在使用GPU资源进行模型训练时&#xff0c;既要保证计算性能的充分…

作者头像 李华
网站建设 2026/5/1 4:05:03

综合布线品牌排名哪家技术强

综合布线品牌排名哪家技术强 在当今数字化时代&#xff0c;综合布线系统作为网络基础设施的重要组成部分&#xff0c;其技术水平直接影响着网络的性能和稳定性。众多综合布线品牌在市场上竞争激烈&#xff0c;究竟哪家技术更强呢&#xff1f;让我们来深入分析。 大唐风暴&…

作者头像 李华
网站建设 2026/5/1 4:47:24

Markdown TOC自动生成PyTorch文档目录

Markdown TOC 自动生成 PyTorch 文档目录 在现代 AI 工程实践中&#xff0c;一个常见的挑战是&#xff1a;如何在快速迭代的模型开发中&#xff0c;同时保证环境的一致性和文档的专业性&#xff1f;我们经常遇到这样的场景——团队成员各自配置本地环境&#xff0c;结果“在我机…

作者头像 李华
网站建设 2026/4/30 8:33:36

PHP开源订水平台源码系统,支持手动派单或自动分配

温馨提示&#xff1a;文末有资源获取方式在本地生活服务全面线上化的今天&#xff0c;送水行业也需借助数字工具提升竞争力。选择一套合适的在线订水系统&#xff0c;是业务升级的第一步。本文将深入解析一款备受推崇的PHP开源订水平台源码&#xff0c;看它如何为您的送水业务注…

作者头像 李华
网站建设 2026/4/30 15:13:30

vue2大文件上传组件的源码解析与扩展开发

要求&#xff1a;免费,开源,技术支持 技术&#xff1a;百度webuploader&#xff0c;分块&#xff0c;切片&#xff0c;断点续传&#xff0c;秒传&#xff0c;MD5验证&#xff0c;纯JS实现&#xff0c;支持第三方软件集成 前端&#xff1a;vue2,vue3,vue-cli,html5,webuploader …

作者头像 李华
网站建设 2026/4/30 10:12:15

Jupyter Notebook分栏显示PyTorch代码与输出

Jupyter Notebook 分栏显示 PyTorch 代码与输出 在高分辨率显示器普及的今天&#xff0c;开发者却仍在为“写一行代码、滚三屏看结果”而烦恼。尤其是在深度学习实验中&#xff0c;一个训练循环的日志动辄上百行&#xff0c;图像生成结果藏在文档底部&#xff0c;调试时来回翻…

作者头像 李华