Java 设置接收或拒绝 Excel 文件修订,让团队协作更顺畅

16 阅读4分钟

在现代团队协作中,Excel 文件作为数据共享和分析的重要载体,经常需要在不同成员之间流转、修改。然而,随之而来的修订痕迹管理常常让人头疼。当一个 Excel 文件中包含了大量的修订(插入、删除、格式更改等),如何高效地处理这些修订,是接受所有修改,还是拒绝某些不必要的变动,成为许多开发者面临的实际问题。手动逐一审查和处理不仅效率低下,还容易出错。

本文将深入探讨如何利用 Java 编程的强大能力,结合 Spire.XLS for Java 库,自动化地设置接收或拒绝 Excel 文件中的所有修订。通过本文的学习,您将掌握一种实用且高效的方法,极大地提升处理带有修订的 Excel 文件的效率。


Spire.XLS for Java 简介与环境搭建

Spire.XLS for Java 是一个功能强大的 Java 组件,专为处理 Excel 文件而设计。它支持创建、读取、编辑、转换和打印 Excel 文档,并且提供了丰富的 API 来操作 Excel 的各种元素,包括单元格、行、列、公式、图表、图片,以及我们今天要重点关注的修订功能。其优点在于功能全面且易于使用,能够满足企业级应用对 Excel 处理的复杂需求。

要在您的 Java 项目中使用 Spire.XLS,您需要将其作为依赖项添加到您的 pom.xml(Maven)文件中。

Maven 依赖配置:

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

Java 设置接受 Excel 修订

“接受修订”意味着将 Excel 文件中所有被追踪的更改(如插入的行/列、修改的单元格内容、格式变化等)永久地应用到文档中,使其成为最终版本。这在审查者确认所有修改无误后非常有用。

以下是使用 Spire.XLS for Java 接受 Excel 文件中所有修订的 Java 代码示例:

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class AcceptTrackedChanges {

    public static void main(String[] args) {

        //创建一个Workbook对象
        Workbook wb = new Workbook();

        //加载示例 Excel 文档
        wb.loadFromFile("test.xlsx");

        //确认工作簿是否已修订
        if (wb.hasTrackedChanges())
        {
            //接受修订
            wb.acceptAllTrackedChanges();
        }

        //保存文件
        wb.saveToFile("AcceptChanges.xlsx"FileFormat.Version2013);
    }
}

代码说明:

  1. new Workbook():创建一个 Workbook 实例,用于操作 Excel 文件。
  2. wb.loadFromFile("tracked_changes.xlsx"):加载指定路径的 Excel 文件。请确保该文件存在且包含修订。
  3. wb.acceptAllTrackedChanges():这是核心方法,它会自动检测并接受工作簿中的所有修订。
  4. wb.saveToFile("accepted_revisions.xlsx", ExcelVersion.Version2016):将接受修订后的工作簿保存为新的 Excel 文件。您可以选择不同的 ExcelVersion

运行此代码后,您将得到一个名为 AcceptChanges.xlsx 的新文件,其中所有修订都已应用,不再显示修订痕迹。


Java 设置拒绝 Excel 修订

与接受修订相反,拒绝修订意味着将 Excel 文件中所有被追踪的更改都恢复到修改前的状态,就好像这些更改从未发生过一样。这在审查者认为某些修改不符合要求,或者需要回溯到原始版本时非常有用。

以下是使用 Spire.XLS for Java 拒绝 Excel 文件中所有修订的 Java 代码示例:

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class RejectTrackedChanges {

    public static void main(String[] args) {

        //创建一个Workbook对象
        Workbook wb = new Workbook();

        //加载示例 Excel 文档
        wb.loadFromFile("test.xlsx");

        //确认工作簿是否已修订
        if (wb.hasTrackedChanges())
        {
            //拒绝修订
            wb.rejectAllTrackedChanges();
        }

        //保存文件
        wb.saveToFile("RejectChanges.xlsx"FileFormat.Version2013);
    }
}

代码说明:

  1. 代码结构与接受修订的示例类似。
  2. wb.rejectAllTrackedChanges():这是核心方法,它会自动检测并拒绝工作簿中的所有修订,将文件恢复到修订前的状态。
  3. wb.saveToFile("rejected_revisions.xlsx", ExcelVersion.Version2016):将拒绝修订后的工作簿保存为新的 Excel 文件。

运行此代码后,您将得到一个名为 RejectChanges.xlsx 的新文件,其中所有修订都被撤销,内容回到了最初的状态。


总结与展望

本文详细介绍了如何使用 Java 结合 Spire.XLS 库来自动化处理 Excel 文件中的修订,包括接受所有修订和拒绝所有修订。通过 Workbook 对象的 acceptAllTrackedChanges()rejectAllTrackedChanges() 方法,开发者可以轻松实现对 Excel 修订的批量管理,极大地提高了工作效率,减少了手动操作的繁琐和潜在错误。

掌握这一技术,对于需要频繁处理团队协作中带有修订痕迹的 Excel 文件的开发者而言,无疑是一项宝贵的技能。它不仅能够简化工作流程,还能确保数据处理的准确性和一致性。希望本文能为您在 Java 开发中处理 Excel 文件提供有益的帮助,鼓励大家在实际项目中尝试和应用这些技术,探索更多自动化处理的可能。