zoukankan      html  css  js  c++  java
  • C# 保护Excel文档

    C# 保护Excel文档

    说到保护excel文档,我们首先想到的是密码保护的方式,但excel与word有点不一样,一般情况下,每个excel工作薄都或多或少地含有一定数量的工作表,因此保护excel文档又分为了两类,保护工作薄和保护工作表。在Excel 2013中,点击左上角的FILE->Info就可以找到保护工作簿和保护当前工作表这两个选项,通过它们给文件设置密码保护,我们就可以保护文档的隐私或防止别人随意更改文件的内容。当然啦,方法可以有很多种,今天我主要写的是如何使用C#编程的方式来保护Excel文档。

    第一部分:保护工作薄

    详细步骤:

    步骤1使用命名空间:

    新建一个visual C#项目,添加引用并使用如下命名空间:

    using Spire.Xls;
    

    步骤2创建一个新的Workbook对象并加载待保护的excel文档。

    Workbook book = new Workbook();
    book.LoadFromFile(@"E:Program Files货品情况统计表.xlsx");
    

    步骤3设置密码保护工作薄。

    book.Protect("abc-123");
    

    第二部分:保护工作表

    在该例中,保护工作表分为密码保护和密码及操作方式保护两类。

    密码保护:设置密码保护以后用户不能对该worksheet做任何修改,相当于只读。如果要修改,需要先输入密码取消保护。

    密码及操作方式保护:该方式允许用户做部分操作修改。

    下表是保护excel工作表的18种方式:

    None

    Represents none flags.

    Object

    Protects shapes.

    Scenarios

    Protects scenarios.

    FormattingCells

    Allows users to format any cells on a   protected worksheet.

    FormattingColumns

    Allows users to format any columns on a protected   worksheet.

    FormattingRows

    Allows users to format any rows on a   protected worksheet.

    InsertingColumns

    Allows users to insert columns on a   protected worksheet.

    InsertingRows

    Allows users to insert rows on a   protected worksheet.

    InsertingHyperlinks

    Allows users to insert hyperlinks on a   protected worksheet.

    DeletingColumns

    Allows users to delete columns on a   protected worksheet.

    DeletingRows

    Allows users to delete rows on a   protected worksheet.

    LockedCells

    Protects locked cells.

    Sorting

    Allows users to sort on a protected   worksheet.

    Filtering

    Allows users to set filters on a   protected worksheet.

    UsingPivotTable

    Allows users to use pivot table reports   on a protected worksheet.

    UnlockedCells

    Protects users interface, but not   macros.

    Contents

    Represents all flags.

    All

    Represents default protection.

    步骤4与保护工作薄类似,获取需要保护的工作表,并给它设置密码及操作保护(这里我选择的是第一个工作表及密码保护的方式)。

    Worksheet sheet = book.Worksheets[0];
    sheet.Protect("def-345", SheetProtectionType.None);
    

    步骤5保存并重启文档。

    book.SaveToFile("ProtectExcel.xlsx", ExcelVersion.Version2010);
    System.Diagnostics.Process.Start("ProtectExcel.xlsx");
    

    保护工作薄的效果图:

                      

    保护工作表的效果图:

     

    全部代码:

    using Spire.Xls;
    
    namespace Protect_Excel_Document
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load Workbook
                Workbook book = new Workbook();
                book.LoadFromFile(@"E:Program Files货品情况统计表.xlsx");
     
                //Protect Workbook
                book.Protect("abc-123");
    
                //Protect Worksheet with Password
                Worksheet sheet = book.Worksheets[0];
                sheet.Protect("def-345", SheetProtectionType.None);
    
                //Save and Launch
                book.SaveToFile("ProtectExcel.xlsx", ExcelVersion.Version2010);
                System.Diagnostics.Process.Start("ProtectExcel.xlsx");
            }
        }
    }
    

    总结:

    从上面的例子中可以看出,用这种方式来保护excel文档其实并不难,这里我使用的是Free Spire.XLS,而且在设置密码保护excel工作薄的同时也设置了密码保护excel工作表,在实际应用中可以根据不同的需求来选择保护对象。

    感谢您的观看!

  • 相关阅读:
    PAT 1012 数字分类 (20)
    HDU 3903 Trigonometric Function(数学定理)
    HUST 1600 Lucky Numbers
    HUST 1599
    FZU 2092 收集水晶(记忆化搜索)
    Java实现 蓝桥杯 算法训练 字符串长度(IO无敌)
    Java实现 蓝桥杯 算法训练 字符串长度(IO无敌)
    Java实现 蓝桥杯 算法训练 Remember the A La Mode(暴力)
    Java实现 蓝桥杯 算法训练 Remember the A La Mode(暴力)
    Java实现 蓝桥杯 算法训练 Remember the A La Mode(暴力)
  • 原文地址:https://www.cnblogs.com/Yesi/p/5234853.html
Copyright © 2011-2022 走看看