C# 用代码设置受保护的Excel

写在前面

在导出Excel文件的时候,为了防止文件内容被篡改,这时候就需要对Excel设置工作簿保护和工作表保护,本文使用的是Spire.XLS的免费版本来实现,免费版本是受限的,但是一般情况下已经够用了。

通过NuGet引入FreeSpire.XLS类库

C# 用代码设置受保护的Excel_第1张图片

代码实现

    public class ExcelProtector
    {
        public static void ProtectWookbook(string filePath)
        {
            var password = "test-password";
            var workbook = new Workbook();
            workbook.LoadFromFile(filePath);
            workbook.Protect(password);
            workbook.Worksheets[0].Protect(password);
            var protectedFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(filePath));
            workbook.SaveToFile(protectedFilePath, ExcelVersion.Version2007);
        }
    }

调用示例:

     var filePath = @"D:\Projects\xxx\test.xls";
    ExcelProtector.ProtectWookbook(filePath);

执行结果

 工作簿已经被成功加密,需要输入设定的密码才能打开。C# 用代码设置受保护的Excel_第2张图片

指定的工作表也被成功加密保护,无法对被保护的单元格进行任何编辑操作。

C# 用代码设置受保护的Excel_第3张图片 

你可能感兴趣的:(C#,excel,c#)