Excel在工作和學(xué)習(xí)中應(yīng)用廣泛,是必不可少的數(shù)據(jù)統(tǒng)計(jì)與處理工具。對(duì)于一些重要的Excel文件,只供特殊人員查看、編輯或者防止重要數(shù)據(jù)對(duì)外泄露時(shí),就需要設(shè)置文檔保護(hù),包括設(shè)置訪(fǎng)問(wèn)密碼、設(shè)置文件只讀等操作。本篇文章將介紹如何使用C#來(lái)設(shè)置Excel工作簿和工作表的保護(hù),示例內(nèi)容涉及以下要點(diǎn)
在成都網(wǎng)站制作、網(wǎng)站建設(shè)中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶(hù),提高在線(xiàn)咨詢(xún)和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷(xiāo)成為有效果、有回報(bào)的無(wú)錫營(yíng)銷(xiāo)推廣。成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)成都網(wǎng)站建設(shè)10余年了,客戶(hù)滿(mǎn)意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶(hù)聯(lián)系。注:由于工作中我們會(huì)遇到各種各樣的需求,加密Excel表格時(shí)也可以分不同方法來(lái)實(shí)現(xiàn)加密需求,Spire.XLS可提供18種不同的保護(hù)類(lèi)型,如下表所示:
【C#】
using Spire.Xls;
namespace ProtectWorkbook_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)工作簿并加載一個(gè)工作簿實(shí)例
workbook book = new Workbook();
book.LoadFromFile("test.xls");
//為工作簿設(shè)置訪(fǎng)問(wèn)密碼
book.Protect("myworkbook");
//保存并打開(kāi)文檔
book.SaveToFile("ProtectedWorkbook.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("ProtectedWorkbook.xlsx");
}
}
}
運(yùn)行該項(xiàng)目,生成文件(可在該項(xiàng)目文件夾bin>Debug中查看),點(diǎn)擊打開(kāi)該工作簿,如下圖所示,密碼設(shè)置完成。輸入密碼即可查看該文檔。
【C#】
using Spire.Xls;
namespace UnProtestedWordbook_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)Workbook實(shí)例
workbook workbook = new Workbook();
//輸入密碼并加載文檔
workbook.OpenPassword = ("123");
workbook.LoadFromFile("test.xlsx", ExcelVersion.Version2013);
//取消保護(hù)
workbook.UnProtect();
//保存并打開(kāi)文檔
workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("Output.xlsx");
}
}
}
運(yùn)行程序后就沒(méi)有密碼保護(hù)了。
【C#】
using Spire.Xls;
namespace ProtectWorksheet_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)工作簿并加載一個(gè)工作簿實(shí)例
workbook book = new Workbook();
book.LoadFromFile("test.xlsx");
//指定需要加密的工作表
worksheet sheet = book.Worksheets[0];
//為工作表設(shè)置啟用編輯的密碼
sheet.Protect("myworksheet", SheetProtectionType.None);
//保存并打開(kāi)文件
book.SaveToFile("ProtectedWorksheet.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("ProtectedWorksheet.xlsx");
}
}
}
此時(shí),需要編輯工作表時(shí)需要密碼,正確輸入密碼后即可編輯。
【C#】
using Spire.Xls;
namespace UnlockCell_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)工作簿并加載一個(gè)實(shí)例
workbook book = new Workbook();
book.LoadFromFile("test.xlsx");
//獲取工作簿中第一個(gè)工作表
worksheet sheet = book.Worksheets[0];
//設(shè)置工作表保護(hù)密碼,并指定不受密碼保護(hù)(即允許用戶(hù)編輯)的單元格區(qū)域
sheet.AddAllowEditRange("AAA", sheet.Range["B2:E6"], "");
sheet.Protect("AAA", SheetProtectionType.All);
//保存并打開(kāi)文件
book.SaveToFile("UnlockCell.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("UnlockCell.xlsx");
}
}
}
效果圖:
此時(shí),在指定區(qū)域的單元格可以任意編輯。對(duì)于指定區(qū)域外的單元格需要編輯時(shí),須輸入密碼。
【C#】
using Spire.Xls;
namespace ProtectWorksheet_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)工作簿并加載一個(gè)工作簿實(shí)例
workbook book = new Workbook();
book.LoadFromFile("ProtectedWorksheet.xlsx");
//獲取工作簿中第一個(gè)工作表
worksheet sheet = book.Worksheets[0];
//設(shè)置撤銷(xiāo)保護(hù)的密碼
sheet.Unprotect("myworksheet");
//保存并打開(kāi)文件
book.SaveToFile("UnProtectedWorksheet.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("UnProtectedWorksheet.xlsx");
}
}
}
運(yùn)行程序后工作表不再有密碼保護(hù)。
【C#】
using Spire.Xls;
namespace ProtectWorksheet_XLS
{
class Program
{
static void Main(string[] args)
{
//初始化一個(gè)工作簿并加載一個(gè)工作簿實(shí)例
workbook book = new Workbook();
book.LoadFromFile("test.xlsx");
//獲取工作簿中第一個(gè)工作表
worksheet sheet = book.Worksheets[0];
//設(shè)置公式隱藏 ,并設(shè)置保護(hù)密碼
sheet.AllocatedRange.IsFormulaHidden = true;
sheet.Protect("123");
//保存并打開(kāi)文件
book.SaveToFile("HideFormular.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("HideFormular.xlsx");
}
}
}
效果對(duì)比:
Before
After
選中單元格時(shí),將不再顯示單元格公式。
以上全部為本次關(guān)于設(shè)置Excel文檔保護(hù)的內(nèi)容,對(duì)于不同的需求,可以自行選擇保護(hù)方式,感興趣的話(huà)也可以嘗試表格中列舉的其他類(lèi)型的保護(hù)方式。
本文完!
(如需轉(zhuǎn)載,請(qǐng)注明出處)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。