时间:2019-09-21  来源:百度经验  作者:sunny蓝鱼  阅读:6

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

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

加密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");        }    }}调试程序,生成文档。打开文档后,编辑工作表需要密码,正确输入密码后即可编辑。

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#】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#】using Spire.Xls; namespace ProtectWorksheet_XLS{    class Program    {        static void Main(string[] args)        {            //初始化一个工作簿并加载一个工作簿实例            Workbook book = new Workbook();            book.LoadFromFile("ProtectedWorksheet.xlsx");

【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");             //保存并打

//获取工作簿中第一个工作表            Worksheet sheet = book.Worksheets[0];             //设置撤销保护的密码            sheet.Unprotect("myworksheet");             //保存并打开文件            book.SaveToFile("UnProtectedWorksheet.xlsx", ExcelVersion.Version2010);            System.Diagnostics.Process.Start("UnProtectedWorksheet.xlsx");        }    }}运行程序后工作表不再有密码保护。

开文件            book.SaveToFile("UnProtectedWorksheet.xlsx", ExcelVersion.Version2010);            System.Diagnostics.Process.Start("UnProtectedWorksheet.xlsx");        }    }}运行程序后工作表不再有密码保护。

Top