C# 如何加密、解密Excel工作表

时间:2024-10-26 05:36:16

本经验将介绍C# 如何来加密、解密Excel工作表。示例将对加密工作表分几种情况来考虑,具体可参见以下要点索引:1. 加密Excel工作表 1.1 加密整个工作表 1.2 锁定单元格区域 1.3 隐藏单元格公式2. 解密Excel工作表

工具/原料

Spire. XLS for .NET 8.0

Visual Studio

dll引用

1、安装该类库后,注意在程序中添加引用Spire.XLS.dll(dll文件可在安装路径下的Bin文件夹中获取)

C# 如何加密、解密Excel工作表

加密Excel工作表

1、 加密整个工作表(设置为只读)【C#】using Spire.Xls;namespace ProtectWorksheet_XLS{ class Program { static void Main(string[] args) { //初始化一个工作簿并加载一个工作簿实例 Workbook book = new Workbook(); book.LoadFromFile("test.xlsx"); //指定需要加密的工作表 Worksheet sheet = book.Worksheets[0]; //为工作表设置启用编辑的密码 sheet.Protect("myworksheet", SheetProtectionType.None); //保存并打开文件 book.SaveToFile("ProtectedWorksheet.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("ProtectedWorksheet.xlsx"); } }}调试程序,生成文档。打开文档后,编辑工作表需要密码,正确输入密码后即可编辑。

C# 如何加密、解密Excel工作表

2、 指定可编辑单元格区域【C#】using Spire.Xls;namespace UnlockCell_XLS{ class Program { static void Main(string[] args) { //初始化一个工作簿并加载一个实例 Workbook book = new Workbook(); book.LoadFromFile("test.xlsx"); //获取工作簿中第一个工作表 Worksheet sheet = book.Worksheets[0]; //设置工作表保护密码,并指定不受密码保护(即允许用户编辑)的单元格区域 sheet.AddAllowEditRange("AAA", sheet.Range["B2:E6"], ""); sheet.Protect("AAA", SheetProtectionType.All); //保存并打开文件 book.SaveToFile("UnlockCell.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("UnlockCell.xlsx"); } }}生成的文档中,在指定区域的单元格可以任意编辑。对于指定区域外的单元格需要编辑时,须输入密码。

C# 如何加密、解密Excel工作表

3、隐藏单元格公式【C#】using Spire.Xls;namespace ProtectWorksheet_XLS{ class Program { static void Main(string[] args) { //初始化一个工作簿并加载一个工作簿实例 Workbook book = new Workbook(); book.LoadFromFile("test.xlsx"); //获取工作簿中第一个工作表 Worksheet sheet = book.Worksheets[0]; //设置公式隐藏 ,并设置保护密码 sheet.AllocatedRange.IsFormulaHidden = true; sheet.Protect("123"); //保存并打开文件 book.SaveToFile("HideFormular.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("HideFormular.xlsx"); } }}公式隐藏后的前后效果对比

C# 如何加密、解密Excel工作表
C# 如何加密、解密Excel工作表

解密工作表

1、【C#】using Spire.Xls;namespace ProtectWorksheet_XLS{ class Program { static void Main(string[] args) { //初始化一个工作簿并加载一个工作簿实例 Workbook book = new Workbook(); book.LoadFromFile("ProtectedWorksheet.xlsx"); //获取工作簿中第一个工作表 Worksheet sheet = book.Worksheets[0]; //设置撤销保护的密码 sheet.Unprotect("myworksheet"); //保存并打开文件 book.SaveToFile("UnProtectedWorksheet.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("UnProtectedWorksheet.xlsx"); } }}运行程序后工作表不再有密码保护。

© 手抄报圈