首页 > 编程语言 >如何在C#中接受或拒绝 Excel 中的修订

如何在C#中接受或拒绝 Excel 中的修订

时间:2022-12-28 15:34:00浏览次数:60  
标签:End 示例 C# 修订 Excel workbook 文档 Workbook

修订功能可以跟踪文档所有的修改,了解修改的过程,这对于团队协同文档编辑、审阅是非常有用的一个功能。将工作簿发送给他人审阅时,我们可以开启修订功能,共享工作簿被修改后,用户查看文档时可以选择接受或者拒绝他人修改的数据信息。本文将详细为您介绍如何接受或拒绝 Excel 中的修订。

  • 接受工作簿中的修订
  • 拒绝工作簿中的修订

程序环境:

本次测试时,在程序中引入 Spire.XLS.dll 文件。

方法1:

Free Spire.XLS for .NET​​ 下载到本地,解压,找到 BIN 文件夹下的 Spire.XLS.dll。然后在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径 BIN 文件夹下的 dll 文件添加引用至程序。

方法2::

通过​NuGet​​安装。可通过以下 2 种方法安装:

 1. 可以在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理 NuGet 包”,然后搜索“Free Spire.XLS”,点击“安装”。等待程序安装完成。

 2. 将以下内容复制到 PM 控制台安装。

Install-Package FreeSpire.XLS -Version 12.7

接受工作簿中的修订

  • 创建一个Workbook对象。
  • 使用 Workbook.LoadFromFile() 方法加载示例 Excel 文档。
  • 调用Workbook.HasTrackedChanges 属性确认工作簿是否是否含有跟踪修订。
  • 使用Workbook.AcceptAllTrackedChanges() 方法接受工作簿中的所有修订。
  • 使用 Workbook.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Xls;

namespace AcceptTrackedChanges
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Workbook对象
            Workbook workbook = new Workbook();

            //加载示例文档
            workbook.LoadFromFile("示例文档.xlsx");

            //确认工作簿是否含有跟踪修订
            if (workbook.HasTrackedChanges)
            {

                //接受工作簿中的所有修订
                workbook.AcceptAllTrackedChanges();
            }

            //保存结果文档
            workbook.SaveToFile("接受修订.xlsx", FileFormat.Version2013);
        }
    }
}

VB.NET

Imports Spire.Xls

Namespace AcceptTrackedChanges
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建一个Workbook对象
            Dim workbook As Workbook = New Workbook()

            '加载示例文档
            workbook.LoadFromFile("示例文档.xlsx")

            '确认工作簿是否含有跟踪修订
            If workbook.HasTrackedChanges Then

                '接受工作簿中的所有修订
                workbook.AcceptAllTrackedChanges()
            End If

            '保存结果文档
            workbook.SaveToFile("接受修订.xlsx", FileFormat.Version2013)
        End Sub
    End Class
End Namespace

效果图

拒绝工作簿中的修订

  • 创建一个Workbook对象。
  • 使用 Workbook.LoadFromFile() 方法加载示例 Excel 文档。
  • 调用Workbook.HasTrackedChanges 属性确认工作簿是否含有跟踪修订。
  • 使用Workbook.RejectAllTrackedChanges() 方法拒绝所有修订。
  • 使用 Workbook.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Xls;

namespace AcceptTrackedChanges
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Workbook对象
            Workbook workbook = new Workbook();

            //加载示例 Excel 文档
            workbook.LoadFromFile("示例文档.xlsx");

            //确认工作簿是否含有跟踪修订
            if (workbook.HasTrackedChanges)
            {

                //拒绝所有修订
                workbook.RejectAllTrackedChanges();
            }

            //保存结果文档
            workbook.SaveToFile("拒绝修订.xlsx", FileFormat.Version2013);
        }
    }
}

VB.NET

Imports Spire.Xls

Namespace AcceptTrackedChanges
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建一个Workbook对象
            Dim workbook As Workbook = New Workbook()

            '加载示例 Excel 文档
            workbook.LoadFromFile("示例文档.xlsx")

            '确认工作簿是否含有跟踪修订
            If workbook.HasTrackedChanges Then

                '拒绝所有修订
                workbook.RejectAllTrackedChanges()
            End If

            '保存结果文档
            workbook.SaveToFile("拒绝修订.xlsx", FileFormat.Version2013)
        End Sub
    End Class
End Namespace

效果图

—本文完—

标签:End,示例,C#,修订,Excel,workbook,文档,Workbook
From: https://www.cnblogs.com/Carina-baby/p/17010252.html

相关文章

  • DVWA之Command Execution篇
    CommandExecution靶机基本情况Metasploitable2中的DVWALevel:Low构造语句:;nc-e/bin/bash192.168.176.1285555其中192.168.176.128为KaliLinuxIP地址可以......
  • 什么是Docker?为什么使用docker?
    Docker是基于Go语言进行开发实现,一个开源的应用容器引擎。采用Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,也可以实现虚拟化。隔......
  • pandas 读取和保存csv文件
    目录​​读取以,号分隔的txt​​​​读取以空格或多空格或table键分隔的txt​​读取以,号分隔的txt​​Asiafootball.txt​​中国,50,50,9日本,28,9,4韩国,17,15,3伊朗,25,4......
  • redisson的Lock,SpinLock与FencedLock
    Lock redisson的基本lock实现,使用发布订阅机制实现通信可以查看源码中pubSub的相关使用SpingLock使用"ExponentialBackoffstrategy"指数退避策略实现的分布式......
  • C. Even Subarrays
    CodeforcesRound#841(Div.2)andDividebyZero2022题目大意给定一个数组,求满足所有元素异或的结果有偶数个因子的子数组的个数。本题将0视作有奇数个因子。解题......
  • JAVA_HOME has not been configured
    环境Ubuntu18.04报错配置区块链WeBase时python3deploy.pystartAll报错检查JAVA_HOME,发现JAVA_HOME没有配置配置JAVA_HOMEcd/usr/lib/jvm/:/usr......
  • Java同步器之辅助类CyclicBarrier
    一、概述CyclicBarrier基于ReentrantLock和Condition等待唤醒的功能实现的,在构建CyclicBarrier时,会将count-1,操作count值是直接使用ReentrantLock来保证线程安全性,如果co......
  • P5380 [THUPC2019]鸭棋
    题面查看题面题目背景鸭棋是一种风靡鸭子界的棋类游戏。事实上,它与中国象棋有一些相似之处,但规则不尽相同。在这里,我们将为你介绍鸭棋的规则。鸭棋在一个\(10\times......
  • JavaScript 内存泄露问题
     内存泄露是每个开发者最终都不得不面对的问题。即便使用自动内存管理的语言,你还是会碰到一些内存泄漏的情况。内存泄露会导致一系列问题,比如:运行缓慢,崩溃,高延迟,甚至一些与......
  • 【python】抽象基类 from abc import ABC, abstractmethod
    abc模块作用Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助abc模块。ABC是Abstract BaseClass的缩写。假设我们定义一些抽象方法,然后子类继承的时候必须要重......