您好,登錄后才能下訂單哦!
Excel在工作和學習中應用廣泛,是必不可少的數據統計與處理工具。對于一些重要的Excel文件,只供特殊人員查看、編輯或者防止重要數據對外泄露時,就需要設置文檔保護,包括設置訪問密碼、設置文件只讀等操作。本篇文章將介紹如何使用C#來設置Excel工作簿和工作表的保護,示例內容涉及以下要點
注:由于工作中我們會遇到各種各樣的需求,加密Excel表格時也可以分不同方法來實現加密需求,Spire.XLS可提供18種不同的保護類型,如下表所示:
【C#】
using Spire.Xls;
namespace ProtectWorkbook_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個工作簿并加載一個工作簿實例
Workbook book = new Workbook();
book.LoadFromFile("test.xls");
//為工作簿設置訪問密碼
book.Protect("myworkbook");
//保存并打開文檔
book.SaveToFile("ProtectedWorkbook.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("ProtectedWorkbook.xlsx");
}
}
}
運行該項目,生成文件(可在該項目文件夾bin>Debug中查看),點擊打開該工作簿,如下圖所示,密碼設置完成。輸入密碼即可查看該文檔。
【C#】
using Spire.Xls;
namespace UnProtestedWordbook_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個Workbook實例
Workbook workbook = new Workbook();
//輸入密碼并加載文檔
workbook.OpenPassword = ("123");
workbook.LoadFromFile("test.xlsx", ExcelVersion.Version2013);
//取消保護
workbook.UnProtect();
//保存并打開文檔
workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("Output.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.Protect("myworksheet", SheetProtectionType.None);
//保存并打開文件
book.SaveToFile("ProtectedWorksheet.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("ProtectedWorksheet.xlsx");
}
}
}
此時,需要編輯工作表時需要密碼,正確輸入密碼后即可編輯。
【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("ProtectedWorksheet.xlsx");
//獲取工作簿中第一個工作表
Worksheet sheet = book.Worksheets[0];
//設置撤銷保護的密碼
sheet.Unprotect("myworksheet");
//保存并打開文件
book.SaveToFile("UnProtectedWorksheet.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("UnProtectedWorksheet.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");
}
}
}
效果對比:
Before
After
選中單元格時,將不再顯示單元格公式。
以上全部為本次關于設置Excel文檔保護的內容,對于不同的需求,可以自行選擇保護方式,感興趣的話也可以嘗試表格中列舉的其他類型的保護方式。
本文完!
(如需轉載,請注明出處)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。