C# 保护Excel文档

简介: C# 保护Excel文档 说到保护excel文档,我们首先想到的是密码保护的方式,但excel与word有点不一样,一般情况下,每个excel工作薄都或多或少地含有一定数量的工作表,因此保护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工作表,在实际应用中可以根据不同的需求来选择保护对象。

感谢您的观看!

目录
相关文章
|
6月前
|
API
Poi 中文API文档 「40种操作 Excel文件的姿势」
Poi 中文API文档 「40种操作 Excel文件的姿势」
311 0
|
22天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
90 5
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
52 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
24天前
|
XML C# 开发工具
C# 删除Word文档中的段落
【11月更文挑战第3天】本文介绍了两种方法来操作 Word 文档:一是使用 `Microsoft.Office.Interop.Word` 库,适用于 Windows 环境下操作 Word 文档,需引用相应库并在代码中引入命名空间;二是使用 Open XML SDK,适用于处理 .docx 格式的文档,通过引用 `DocumentFormat.OpenXml` 库实现。文中提供了示例代码,展示了如何打开、删除段落并保存文档。
|
2月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
3月前
内存或磁盘不足,excel无法再次打开或保存任何文档
内存或磁盘不足,excel无法再次打开或保存任何文档
|
3月前
|
文字识别 C# Python
使用C#将几个Excel文件合并去重分类
使用C#将几个Excel文件合并去重分类
32 3
|
3月前
|
开发框架 算法 .NET
C#使用MiniExcel导入导出数据到Excel/CSV文件
C#使用MiniExcel导入导出数据到Excel/CSV文件
81 0
VBA如何用Excel数据批量生成Word文档
VBA|用Excel数据批量生成并修改用模板创建的Word文档
|
5月前
|
C#
【C#】C#读写Excel文件
【C#】C#读写Excel文件
133 1