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

2025-11-06 16:35:38

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

C# 如何加密、解密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");

        }

    }

}

运行程序后工作表不再有密码保护。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢