当前位置: 首页 > news >正文

快速创建与读取 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 操作。希望本文能够帮助你快速上手,也期待你在实际应用中发现它的更多潜能。

http://www.jsqmd.com/news/159733/

相关文章:

  • 2025年值得信赖的氧化镁厂家排行榜,氧化镁生产厂家优选品牌推荐与解析 - 品牌推荐师
  • SSH连接PyTorch-CUDA开发环境:远程调试与部署操作指南
  • 数据科学和ML领域的趋势是什么?为2026年做准备
  • 智能自动化企业培训考试系统源码,全方位支持培训闭环管理
  • 2025年12月厦门旧房翻新公司综合实力排行榜:五强服务商深度评测分析 - 十大品牌推荐
  • DiskInfo定时任务自动化巡检脚本
  • 当能源系统开始玩转碳交易
  • 社保代缴机构水太深?希创人事教你三步识破伪装 ​
  • 2025年12月厦门旧房翻新公司推荐榜:权威评测排行与实用选择指南深度解析 - 十大品牌推荐
  • 2025年12月厦门新房装修公司实力排行榜:五强企业深度评测与选择指南 - 十大品牌推荐
  • GitHub Template仓库快速初始化PyTorch项目
  • 2025年12月厦门新房装修公司推荐:专业评测对比与性价比优选排行榜单 - 十大品牌推荐
  • Markdown编写技术博客引流策略:结合PyTorch开源项目推广GPU算力
  • 2025年12月厦门旧房翻新公司推荐榜:TOP5企业综合实力深度评测与选择指南 - 十大品牌推荐
  • PyTorch-CUDA-v2.7镜像安全加固措施
  • Jupyter Notebook LaTeX公式渲染PyTorch算法
  • 2025年12月厦门旧房翻新公司实力榜单:五强企业深度评测与选择指南 - 十大品牌推荐
  • Conda与Pip混合安装PyTorch的风险及规避策略
  • Android 端构建高性能 RTSP 转 RTMP|轻量级RTSP服务 网关:透传与二次编码深度实践
  • 【首发】GPT-5.2 满血版正式解禁:性能实测碾压全场。
  • 2025年12月厦门旧房翻新公司综合实力排行榜单及实用选择指南 - 十大品牌推荐
  • 私域运营系统:构筑企业可持续增长的核心基础设施
  • 综合布线品牌排名哪家技术强
  • 使用Docker运行PyTorch-CUDA-v2.7镜像:构建可复用AI开发平台
  • PyTorch官网安装失败怎么办?改用国内镜像源快速解决
  • 益生菌品牌排行榜前十名!国产益生菌天花板?榜首幽定妥口碑第一,调理肠胃最值得入手 - 博客万
  • [模式识别-从入门到入土] 拓展-似然
  • 2025 硬核实战:手动部署 Yoast SEO 并搞定 Google 站点地图,解决“无法抓取”全攻略
  • PyTorch模型量化Quantization入门教程
  • Git下载PyTorch项目并运行:结合PyTorch-CUDA-v2.7镜像快速启动