news 2026/4/29 7:07:34

快速创建与读取 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/20 20:18:40

Nginx + Lua + Redis 实现高级请求限制机制

一、概述 在高并发场景下&#xff0c;API接口防护是保证系统稳定性的关键环节。传统的Nginx限制模块&#xff08;如ngx_http_limit_conn_module和ngx_http_limit_req_module&#xff09;虽然功能强大&#xff0c;但灵活性有限。本文将介绍如何结合Nginx、Lua和Redis实现更精细…

作者头像 李华
网站建设 2026/4/18 15:19:28

清华大学开源镜像站助力PyTorch快速安装:适配CUDA 11.8+

清华大学开源镜像站助力PyTorch快速安装&#xff1a;适配CUDA 11.8 在高校实验室的深夜机房里&#xff0c;一位研究生正焦急地等待 pip install torch 命令完成——进度条卡在 67%&#xff0c;已经持续了二十分钟。而在隔壁城市的数据中心&#xff0c;运维工程师刚刚因为新成员…

作者头像 李华
网站建设 2026/4/28 11:27:09

使用Docker运行PyTorch-CUDA-v2.7镜像:构建可复用AI开发平台

使用Docker运行PyTorch-CUDA-v2.7镜像&#xff1a;构建可复用AI开发平台 在深度学习项目中&#xff0c;最让人头疼的往往不是模型调参或数据清洗&#xff0c;而是环境配置——“在我机器上明明能跑”的问题反复上演。一个常见的场景是&#xff1a;算法工程师在本地训练好的代码…

作者头像 李华
网站建设 2026/4/29 0:05:36

数据科学和ML领域的趋势是什么?为2026年做准备

3个&#xff08;对我来说&#xff09;最突出的关键趋势 按回车键或点击以查看全尺寸图像 描绘AutoGen背后动机的漫画。图片由AutoGen提供。 这些就是在活动期间让我印象深刻的趋势&#xff0c;并且在某种程度上&#xff0c;它们已经积累了足够的动力&#xff0c;值得密切关注…

作者头像 李华
网站建设 2026/4/27 14:06:38

PyTorch安装教程GPU版:基于PyTorch-CUDA-v2.7一键部署

PyTorch-CUDA-v2.7 一键部署&#xff1a;让深度学习环境搭建不再“劝退” 在AI项目开发中&#xff0c;你是否经历过这样的场景&#xff1f;刚写完一个新模型结构&#xff0c;满怀期待地运行训练脚本&#xff0c;结果终端弹出一行红色错误&#xff1a; ImportError: libcudart.s…

作者头像 李华
网站建设 2026/4/27 7:40:48

Spring Boot 校园物资招标竞标系统

Spring Boot 校园物资招标竞标系统介绍 在校园建设持续推进&#xff0c;物资采购需求日益多样化、规范化的当下&#xff0c;Spring Boot 校园物资招标竞标系统应运而生&#xff0c;为校园物资采购搭建起公平、公正、公开的交易平台&#xff0c;有效提升采购效率&#xff0c;保障…

作者头像 李华