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

—本文完—
如何在C#中接受或拒绝 Excel 中的修订的更多相关文章
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
- 手把手教你springboot中导出数据到excel中
手把手教你springboot中导出数据到excel中 问题来源: 前一段时间公司的项目有个导出数据的需求,要求能够实现全部导出也可以多选批量导出(虽然不是我负责的,我自己研究了研究),我们的项目是x ...
- Yii中使用PHPexcel获取excel中数据
1.view中代码如下: <form name="frmBatchSettle" id="" action="" method=&qu ...
- 将datagrid中数据导出到excel中 -------<<工作日志2014-6-6>>
前台datagrid数据绑定 #region 导出到excel中 /// <summary> /// 2014-6-6 /// </summary> / ...
- Winform 中 dataGridView 导出到Excel中的方法总结
最近,在做CS端数据导出到Excel中时网上找了很多代码感觉都不是自己想要的,通过自己的整理归纳得到一个比较通用的方法,就给大家分享一下: 该方法需要用到两个参数(即对象),一个 DataGridV ...
- java中使用jxl读取excel中的数据
package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...
- 玩转excel===Excel处理txt文件中的数据,Excel中的分列处理
我的txt文件数据是这样的,目标是用第一列的数据生成图表: 现在我需要拿到pss列,用Excel的操作如下,先用Excel打开txt文档 所有数据都在A列,单独拿出来第一列数字.这时候要选择分列: o ...
- C#中将ListView中数据导出到Excel
首先 你需要添加引用Microsoft Excel 11.0 Object Library 添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“ ...
- 将Excel中数据导入数据库(二)
在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...
- 将Excel中数据导入数据库(一)
在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...
随机推荐
- Java程序设计(一)作业
题目1:输入圆的半径,计算圆的面积,然后把面积的值输出.(注意所使用的数据类型). package test; import java.util.Scanner; public class test1 ...
- 配置DNS域名解析服务
概: DNS技术作为互联网基础设施中的重要一环,为用户提供不间断.稳定且快速的域名查询服务,保证互联网正常运转.在互联网中,用户基本上都是基于DNS服务,使用域名访问网络上的计算机,DNS服务是我 ...
- JavaFx 使用字体图标记录
原文:JavaFx 使用字体图标记录 - Stars-One的杂货小窝 之前其实也是研究过关于字体图标的使用,还整了个库Tornadofx学习笔记(4)--IconTextFx开源库,整合5000+个 ...
- 死锁与Lock锁
死锁1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 2.说明: 1)出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞 ...
- 【多线程那些事儿】如何使用C++写一个线程安全的单例模式?
如何写一个线程安全的单例模式? 单例模式的简单实现 单例模式大概是流传最为广泛的设计模式之一了.一份简单的实现代码大概是下面这个样子的: class singleton { public: stati ...
- Python学习三天计划-1
一.第一个Python程序 配置好环境变量后 打开CMD(命令提示符)程序,输入Python并回车 然后,在里面输入代码回车即可立即执行 Python解释器的作用是 将Python代码翻译成计算机认识 ...
- 齐博x1如何取消某个标签的缓存时间
标签默认会有缓存, 如果你要强制取消缓存时间的话, 可以加上下面的参数 time="-1"如下图所示 标签默认缓存时间是10分钟, 你也可以改成其它时间 比如 time=" ...
- 微服务组件--注册中心Spring Cloud Eureka分析
Eureka核心功能点 [1]服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址.端口.运行 ...
- 15行python代码实现人脸识别
方法一:face_recognition import cv2 import face_recognition img_path = "C:/Users/CJK/Desktop/1.jpg& ...
- Codeforces Round #829 (Div. 2) A-E
比赛链接 A 题解 知识点:枚举. 只要一个Q后面有一个A对应即可,从后往前遍历,记录A的数量,遇到Q则数量减一,如果某次Q计数为0则NO. 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) ...