C#中利用Spire.XLS批量接受或拒绝Excel修订记录

Leo
Leo
发布时间:2026-10-15 | 4人浏览过
原创

在处理团队协作编辑后的Excel文件时,常遇到包含大量修订记录的共享工作簿。本文介绍了如何使用C#结合Spire.XLS库,自动检测并批量接受或拒绝这些修订记录,从而快速清理文件内容,便于后续归档或使用。

环境准备

要在C#项目中实现对Excel修订的管理,首先需要引入第三方组件库 Spire.XLS for .NET。您可以通过以下两种方式之一完成安装:

  • 手动引用DLL: 下载免费版并解压,在 Visual Studio 的“解决方案资源管理器”中右键点击项目,选择“添加引用”,指向解压目录 BIN 文件夹下的 Spire.Xls.dll 文件。
  • NuGet包管理: 在 Visual Studio 中打开 NuGet 包管理器,搜索 FreeSpire.XLS 进行安装;或者直接在程序包管理器控制台中运行以下命令:
    Install-Package FreeSpire.XLS -Version 12.7

接受Excel中的所有修订

当您需要确认所有审阅者的修改并将其固定到最终版本时,可以使用此流程。这相当于在Excel手动操作中点击“接受所有更改”。

第1步:加载包含修订的工作簿

创建一个 Workbook 对象,并使用 LoadFromFile 方法读取待处理的Excel文件(如.xlsx)。确保该文件是由“共享工作簿”模式编辑且开启了修订跟踪功能。

第2步:检查修订状态

为了优化性能,建议先调用 HasTrackedChanges 属性。如果值为 true,说明文件中存在未处理的修订记录。

第3步:执行接受操作并保存

确认有修订后,调用 AcceptAllTrackedChanges() 方法。该方法会将所有新增、删除和格式变更应用于单元格,移除修订标记。最后使用 SaveToFile 保存结果文件。

C# 实现代码

using Spire.Xls;

namespace AcceptTrackedChanges
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 创建 Workbook 实例
            Workbook workbook = new Workbook();

            // 2. 加载源文件
            workbook.LoadFromFile("共享文档_已开启修订.xlsx");

            // 3. 判断是否含有修订记录
            if (workbook.HasTrackedChanges)
            {
                // 4. 接受所有跟踪到的修订
                workbook.AcceptAllTrackedChanges();
            }

            // 5. 保存为新文件,此时不再包含修订数据
            workbook.SaveToFile("最终定稿版.xlsx", FileFormat.Version2013);
        }
    }
}

拒绝Excel中的所有修订

如果您需要恢复到共享编辑前的初始状态,或者认为某些协作修改不符合要求,可以使用拒绝修订的功能。这将丢弃所有跟踪到的更改,保留原始数据。

第1步:初始化与加载

同上,实例化 Workbook 并加载目标Excel文件。

第2步:判断并执行拒绝

再次检查 HasTrackedChanges。若存在修订,调用 RejectAllTrackedChanges()。此操作会回滚所有单元格内容至修订开启前的值,并清除修订痕迹。

第3步:保存文件

将处理后的文档另存为新的Excel文件。

C# 实现代码

using Spire.Xls;

namespace RejectTrackedChanges
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 创建 Workbook 实例
            Workbook workbook = new Workbook();

            // 2. 加载源文件
            workbook.LoadFromFile("共享文档_已开启修订.xlsx");

            // 3. 判断是否含有修订记录
            if (workbook.HasTrackedChanges)
            {
                // 4. 拒绝所有跟踪到的修订
                workbook.RejectAllTrackedChanges();
            }

            // 5. 保存为恢复原始状态的文件
            workbook.SaveToFile("还原为原版.xlsx", FileFormat.Version2013);
        }
    }
}

关键注意事项

  • 文件类型支持: 推荐使用 .xlsx 或 .xls 格式,这两种格式均支持共享工作簿修订功能。
  • 备份习惯: 批量接受或拒绝是破坏性操作,一旦保存无法撤销。建议在脚本运行前对源文件进行复制备份。
  • 兼容性: 上述代码基于 Spire.XLS 的标准 API,适用于大多数 .NET Framework 及 .NET Core/Standard 环境。

以上就是如何利用 C# 和 Spire.XLS 高效处理 Excel 修订功能的详细内容,更多关于 C# Excel 自动化处理的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表