Java Spire.XLS快速创建与读取Excel的实战技巧

 更新时间:2025年12月29日 16:13:09   作者:LSTM97  
在现代软件开发中,Excel 文档的管理和操作是一个常见的需求,,本文将详细介绍如何使用 Spire.XLS for Java 库,以便轻松地读写 Excel 文档,感兴趣的小伙伴可以了解下

在现代软件开发中,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();
        }
    }
}

代码解析

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

写入 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);
    }
}

代码解析

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

总结

通过使用 Spire.XLS for Java 程序库,我们可以方便地处理 Excel 文档。无论是读取已有的数据,还是生成新的表格,Spire.XLS 都提供了极大的便利。它简单易用的 API 和丰富的功能特性,使得 Java 开发者能够轻松实现各种 Excel 操作。

到此这篇关于Java Spire.XLS快速创建与读取Excel的实战技巧的文章就介绍到这了,更多相关Java创建与读取Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入分析JAVA 反射和泛型

    深入分析JAVA 反射和泛型

    这篇文章主要介绍了JAVA 反射和泛型的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java超详细讲解类变量和类方法

    Java超详细讲解类变量和类方法

    这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-05-05
  • list的4种遍历方式(实例讲解)

    list的4种遍历方式(实例讲解)

    下面小编就为大家带来一篇list的4种遍历方式(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot逻辑异常统一处理方法

    SpringBoot逻辑异常统一处理方法

    这篇文章主要介绍了SpringBoot逻辑异常统一处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • springboot实现rabbitmq消息确认的示例代码

    springboot实现rabbitmq消息确认的示例代码

    RabbitMQ的消息确认有两种, 一种是消息发送确认,第二种是消费接收确认,本文主要介绍了springboot实现rabbitmq消息确认的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • SpringBoot+MySQL实现读写分离的多种具体方案

    SpringBoot+MySQL实现读写分离的多种具体方案

    在高并发和大数据量的场景下,数据库成为了系统的瓶颈。为了提高数据库的处理能力和性能,读写分离成为了一种常用的解决方案,本文将介绍在Spring Boot项目中实现MySQL数据库读写分离的多种具体方案,需要的朋友可以参考下
    2023-06-06
  • Java 过滤器实现敏感词汇过滤功能

    Java 过滤器实现敏感词汇过滤功能

    通过使用 Java 过滤器,我们可以轻松地实现敏感词汇过滤的功能,以保护用户免受不良内容的侵害,让我们通过一个简单的示例来演示我们的敏感词汇过滤器是如何工作的,感兴趣的朋友一起看看吧
    2024-01-01
  • Java之哈夫曼压缩原理案例讲解

    Java之哈夫曼压缩原理案例讲解

    这篇文章主要介绍了Java之哈夫曼压缩原理案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java使用JSONPath解析JSON完整内容详解

    Java使用JSONPath解析JSON完整内容详解

    这篇文章主要介绍了Java使用JSONPath解析JSON完整内容详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java中枚举类enum的values()方法举例详解

    Java中枚举类enum的values()方法举例详解

    这篇文章主要给大家介绍了关于Java中枚举类enum的values()方法举例详解,作为一种常用方法,可以在枚举中对数组里的枚举值进行遍历,这就是values()方法的使用,需要的朋友可以参考下
    2023-11-11

最新评论