如何在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; ...
随机推荐
- HBase(1/5)
HBase学习(一) 一.了解HBase 官方文档:https://hbase.apache.org/book.html 1.1 HBase概述 HBase 是一个高可靠性.高性能.面向列.可伸缩的分 ...
- 洛谷P3397 地毯(差分)
二维平面上的差分,我们可以对每行处理. 比如我们要把(2,2)(5,5)之间的矩形加上1,可以这样处理. 0 0 0 0 0 0 0 +1 0 0 0 -1 0 +1 0 0 0 -1 0 +1 0 ...
- vivo互联网机器学习平台的建设与实践
vivo 互联网产品团队 - Wang xiao 随着广告和内容等推荐场景的扩展,算法模型也在不断演进迭代中.业务的不断增长,模型的训练.产出迫切需要进行平台化管理.vivo互联网机器学习平台主要业务 ...
- 创建线程的方式三:实现Callable接口。 --- JDK 5.0新增
如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大? call()可以有返回值的.call()可以抛出异常,被外面的操作捕获,获取异常的信息Callable是 ...
- html点击a标签弹窗QQ聊天界面
以为很难.以为要第三方.谁知道不用.一句话的事情. 1 <a hfer="tencent://message/?uin=12345&Site=&Menu-=yes&qu ...
- 【vue2】Style和Class,条件,列表渲染,双向数据绑定,事件处理
目录 1.style和class 2. 条件渲染 2.1 指令 2.2 案例 3. 列表渲染 3.1 v-for:放在标签上,可以循环显示多个此标签 3.2 v-for 循环数组,循环字符串,数字,对 ...
- JS 学习笔记 (六) 函数式编程
1.函数闭包 1.1 概述 JavaScript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的. 为了实现这种词法作用域,JavaScript函数对 ...
- 表驱动法在STM32中的应用
1.概念 所谓表驱动法(Table-Driven Approach)简而言之就是用查表的方法获取数据.此处的"表"通常为数组,但可视为数据库的一种体现.根据字典中的部首检字表查找读 ...
- 云原生之旅 - 8)云原生时代的网关 Ingress Nginx
前言 当我们在Kubernetes部署的服务需要暴露给外部用户使用时,有三种选择:LoadBalancer,NodePort, Ingress. LoadBalancer类型得结合各个Cloud Pr ...
- 《Design by Contract for Embedded Software》 翻译
原文: Design by Contract for Embedded Software (state-machine.com) Design by Contract is the single mo ...