使用 Aspose.Cells 保護工作表中的特定儲存格

介紹

在本教學中,我們將引導您完成保護 Excel 工作表中特定儲存格的過程。最後,您將能夠像專業人士一樣自信地鎖定單元格,防止未經授權的更改,同時在需要時保持工作表的靈活性。

先決條件

在我們深入了解細節之前,讓我們確保您擁有順利學習本教學所需的一切:

  1. Visual Studio – 如果您尚未安裝,請下載並安裝 Visual Studio。它將是您運行 .NET 應用程式的主要環境。
  2. Aspose.Cells for .NET – 您需要 Aspose.Cells 函式庫才能在 .NET 應用程式中處理 Excel 檔案。如果您尚未安裝,可以從以下位置取得最新版本阿斯普斯網站.
  3. .NET Framework 或 .NET Core – 本教學適用於 .NET Framework 和 .NET Core。只需確保您的專案與 Aspose.Cells 相容。 一旦這些準備就緒,您就可以開始了。

導入包

在進入逐步指南之前,您需要確保匯入使用 Aspose.Cells 所需的命名空間。在您的專案中,在文件頂部包含以下導入語句:

using System.IO;
using Aspose.Cells;

這些命名空間將使您能夠與 Excel 檔案以及設定樣式和保護工作表儲存格所需的類別進行互動。 現在,讓我們將其分解為簡單的步驟,以使用 Aspose.Cells for .NET 保護工作表中的特定儲存格。我們將保護儲存格 A1、B1 和 C1,同時保持工作表的其餘部分開啟以供編輯。

第 1 步:建立新工作簿和工作表

首先,您需要建立一個新的工作簿(Excel 檔案)和其中的一個工作表。這是您應用細胞保護的地方。

//文檔目錄的路徑。
string dataDir = "Your Document Directory";
//如果目錄尚不存在,則建立該目錄。
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
//建立一個新工作簿。
Workbook wb = new Workbook();
//建立一個工作表物件並取得第一個工作表。
Worksheet sheet = wb.Worksheets[0];

在此步驟中,您還將建立目錄來儲存產生的 Excel 檔案(如果尚不存在)。這Workbook類別初始化一個新的 Excel 文件,並且Worksheets[0]允許我們使用工作簿中的第一張工作表。

第 2 步:解鎖所有列

接下來,您將解鎖工作表中的所有列。這確保了預設工作表中的所有儲存格都是可編輯的。稍後我們將只鎖定我們想要保護的單元格。

//定義樣式物件。
Style style;
//定義 styleflag 對象
StyleFlag styleflag;
//循環遍歷工作表中的所有列並解鎖它們。
for (int i = 0; i <= 255; i++)
{
    style = sheet.Cells.Columns[(byte)i].Style;
    style.IsLocked = false;
    styleflag = new StyleFlag();
    styleflag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, styleflag);
}

在此程式碼區塊中,我們迭代所有列(最多 255 列)並設定IsLocked財產給false。這實際上會解鎖這些列中的所有儲存格,使它們預設可編輯。然後我們將樣式套用到列ApplyStyle()方法。

步驟 3:鎖定特定儲存格(A1、B1、C1)

現在所有列都已解鎖,我們將重點放在鎖定特定單元格,即 A1、B1 和 C1。我們將修改單元格樣式並設定它們IsLocked財產給true.

//鎖定三個儲存格...即A1、B1、C1。
style = sheet.Cells["A1"].GetStyle();
style.IsLocked = true;
sheet.Cells["A1"].SetStyle(style);
style = sheet.Cells["B1"].GetStyle();
style.IsLocked = true;
sheet.Cells["B1"].SetStyle(style);
style = sheet.Cells["C1"].GetStyle();
style.IsLocked = true;
sheet.Cells["C1"].SetStyle(style);

此步驟確保儲存格 A1、B1 和 C1 被鎖定。這些單元格將受到保護,一旦應用工作表保護,這些單元格將無法編輯。

步驟 4:保護工作表

鎖定必要的儲存格後,下一步是保護整個工作表。此步驟使鎖定的儲存格(A1、B1、C1)不可編輯,而其他儲存格保持開啟狀態以供編輯。

//最後,現在保護紙張。
sheet.Protect(ProtectionType.All);

Protect在工作表上呼叫方法,指定應保護工作表的所有方面。這會鎖定標記為的特定單元格IsLocked = true並確保它們不能被使用者更改。

第 5 步:儲存工作簿

鎖定儲存格並保護工作表後,您可以將工作簿儲存到所需位置。

//儲存 Excel 檔案。
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

此步驟將工作簿儲存到dataDir帶有檔案名稱的資料夾output.out.xls。您可以修改檔案名稱和目錄以滿足您的需求。該文件以 Excel 97-2003 格式儲存,但您可以根據需要進行調整。

結論

使用 Aspose.Cells for .NET 保護 Excel 工作表中的特定儲存格是一個簡單的過程。透過執行上述步驟,您可以鎖定某些儲存格,同時允許其他儲存格保持可編輯狀態。與其他人共用工作簿時,此功能非常有用,因為它可以幫助您控制哪些資料可以修改以及哪些資料應受到保護。無論您是處理敏感資料還是只是防止意外更改,Aspose.Cells 都提供了靈活且強大的解決方案。

常見問題解答

如何保護特定範圍的細胞而不是少數細胞?

您可以修改程式碼以循環存取特定範圍的儲存格或列並鎖定它們,而不是手動鎖定單一儲存格。

我可以添加密碼來保護工作表嗎?

是的,您可以在呼叫時指定密碼Protect()限制使用者在沒有正確密碼的情況下取消保護工作表的方法。

我可以保護特定的行或列而不是單元格嗎?

是的,Aspose.Cells 允許您透過修改來鎖定整個行或列IsLocked行或列的屬性,類似於我們鎖定單元格的方式。

如何取消工作表保護?

若要取消對工作表的保護,請使用Unprotect()方法,如果在保護期間設定了密碼,則可以選擇提供密碼。

我可以使用 Aspose.Cells 進行其他 Excel 操作,例如新增公式或圖表嗎?

絕對地! Aspose.Cells 是一個強大的函式庫,可讓您執行各種 Excel 操作,包括新增公式、建立圖表等等。