IRONSOFTWAREHOME

如何在C#中設置工作表密碼

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

要在C#中用密碼保護工作表,使用IronXL的workSheet.ProtectSheet("MyPass123")。 這將對任何Excel工作表應用唯讀保護,防止未經授權的修改,同時允許使用者查看內容。

快速入門:用一行程式碼保護工作表

使用IronXL,您可以通過調用ProtectSheet方法將任何工作表設置為唯讀——只需一行程式碼即可立即保護工作表。 非常適合希望在C#中輕鬆實現保護的開發者。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2複製並運行這段程式碼片段。

    new IronXL.WorkBook("data.xlsx").DefaultWorkSheet.ProtectSheet("MyPass123");
    C#
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronXL,透過免費試用
    arrow pointer

開始使用IronXL


如何存取受密碼保護的工作表?

IronXL允許您在不需要密碼的情況下存取和修改任何受保護的工作表。 一旦用IronXL打開電子表格,您可以修改任何工作表中的任何單元格。 當您需要載入現有電子表格可能已經被其他使用者或系統保護時,該功能特別有用。

在處理受保護的工作表時,IronXL無縫處理底層安全性。 您可以打開受密碼保護的Excel工作表,並進行讀取資料、更新單元格或應用公式等操作,而無需知道原始密碼。 這使得IronXL是自動化資料處理場景中的絕佳選擇,在這些場景中需要處理多個受保護文件。

如何應用密碼保護到工作表?

要限制對工作表的修改,同時允許使用者查看其在Excel中的內容,使用ProtectSheet方法並設定密碼爲參數。 例如,workSheet.ProtectSheet("IronXL")。 這爲選定的工作表設置了基於密碼的ReadOnly身份驗證。

using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set protection for selected worksheet
workSheet.ProtectSheet("IronXL");

workBook.Save();

保護多個工作表

當處理包含多個工作表的複雜工作簿時,您可能需要應用不同的保護策略:

using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("financial-report.xlsx");

// Protect each worksheet with a different password
workBook.GetWorkSheet("Summary").ProtectSheet("SummaryPass123");
workBook.GetWorkSheet("Details").ProtectSheet("DetailsSecure456");
workBook.GetWorkSheet("Charts").ProtectSheet("ChartsProtect789");

// Save the workbook with all protections applied
workBook.SaveAs("protected-financial-report.xlsx");

這種方法特別有用在管理工作表時,這些工作表包含不同級別的敏感資訊。 您還可以將工作表保護和工作簿級別密碼保護結合使用以增強安全性。

當使用者嘗試打開受保護的工作表會發生什麼?

程式碼編輯器顯示使用 IronXL 函式庫實作的 Excel 工作表保護,並以檔案總管顯示 .xlsx 檔案

當使用者嘗試在Excel中修改受保護的工作表時,系統會提示他們輸入密碼。 沒有正確的密碼,他們只能查看內容,但無法進行任何更改。 這種保護在不同版本的Excel和支持Excel格式的其他電子表格應用程式中同樣有效。

在不同场景中使用受保护的工作表

IronXL的工作表保護功能與其他Excel操作無縫整合。 即使在保持保護狀態的同時,您仍然可以執行讀取操作、提取資料,甚至將文件轉換爲不同格式

using IronXL;

// Load a workbook and protect specific worksheets based on content
WorkBook workBook = WorkBook.Load("employee-data.xlsx");

foreach (WorkSheet sheet in workBook.WorkSheets)
{
    // Check if the sheet name contains sensitive keywords
    if (sheet.Name.Contains("Salary") || sheet.Name.Contains("Personal"))
    {
        // Apply stronger password protection to sensitive sheets
        sheet.ProtectSheet($"Secure_{sheet.Name}_2024!");
    }
    else
    {
        // Apply standard protection to other sheets
        sheet.ProtectSheet("StandardProtection");
    }
}

// Save the selectively protected workbook
workBook.SaveAs("employee-data-protected.xlsx");

如何移除工作表上的密碼保護?

要從特定工作表中移除密碼,請使用UnprotectSheet方法。 只需调用workSheet.UnprotectSheet()即可移除與工作表關聯的任何密碼。

// Remove protection for selected worksheet. It works without password!
workSheet.UnprotectSheet();

批量解除工作表的保护

在處理多個受保護的工作表時,您可能需要一次性移除所有工作表上的保護。 這是一個高效的方法:

using IronXL;
using System;

// Load the protected workbook
WorkBook workBook = WorkBook.Load("multi-protected.xlsx");

// Counter for tracking operations
int unprotectedCount = 0;

// Iterate through all worksheets and remove protection
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    try
    {
        sheet.UnprotectSheet();
        unprotectedCount++;
        Console.WriteLine($"Unprotected: {sheet.Name}");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Failed to unprotect {sheet.Name}: {ex.Message}");
    }
}

Console.WriteLine($"Successfully unprotected {unprotectedCount} worksheets");

// Save the unprotected workbook
workBook.SaveAs("multi-unprotected.xlsx");

工作表保護的最佳實踐

在您的C#應用程式中實施工作表保護時,請考慮以下建議:

  1. 使用強密碼:生成包含字母、數字和特殊字元的複雜密碼。 考慮使用密碼管理器或安全儲存來管理多個工作表密碼。

  2. 文件保護狀態文件:保持哪張工作表受保護以及原因的日誌。 這有助於維護和故障排除。

  3. 結合許可證管理:在分發受保護的Excel文件時,確保您已經正確配置了IronXL許可證以用於部署場景。

  4. 測試保護場景:在部署受保護的工作表之前,請用各種Excel版本測試它們以確保相容性。

  5. 考慮性能:雖然保護不會顯著影響性能,但處理大型工作簿中的許多受保護工作表可能需要優化策略。

高級保護場景

IronXL的工作表保護可以整合到更復雜的工作流程中。 例如,您可以建立具有預配置保護設置的新電子表格。

using IronXL;
using System;

// Create a new workbook with protected templates
WorkBook workBook = WorkBook.Create();

// Add and configure protected worksheets
WorkSheet budgetSheet = workBook.CreateWorkSheet("Budget2024");
budgetSheet["A1"].Value = "Annual Budget";
budgetSheet["A2"].Value = "Department";
budgetSheet["B2"].Value = "Allocated Amount";
// Add more data...
budgetSheet.ProtectSheet("BudgetProtect2024");

WorkSheet forecastSheet = workBook.CreateWorkSheet("Forecast");
forecastSheet["A1"].Value = "Revenue Forecast";
// Add forecast data...
forecastSheet.ProtectSheet("ForecastSecure123");

// Save the protected workbook
workBook.SaveAs("protected-templates.xlsx");

爲了全面的Excel文件操作功能,請查閱完整的IronXL文件或查看關於讀取Excel文件的教程以擴展您的Excel自動化工具集。

IronXL允許您使用一行C#程式碼保護和取消保護任何Excel工作簿工作表

常見問題

如何在 C# 中密碼保護 Excel 工作表?

您可以在 C# 中使用 IronXL 的 ProtectSheet 方法來保護 Excel 工作表。只需對任何工作表物件調用 workSheet.ProtectSheet("YourPassword") 即可。這將應用唯讀保護,防止未授權的修改,同時允許使用者查看內容。

我可以在不知密碼的情況下存取和修改受密碼保護的工作表嗎?

是的,IronXL 允許您在不需要原始密碼的情況下存取和修改任何受保護的工作表。一旦使用 IronXL 開啟試算表,您可以修改任何工作表中的任何儲存格,這使得它非常適合於需要處理多個受保護檔案的自動化資料處理場景。

ProtectSheet 方法適用於何種保護?

IronXL 中的 ProtectSheet 方法對選擇的工作表應用了唯讀身份驗證。這意味著使用者可以查看內容,但如果沒有在 Excel 打開檔案時輸入正確的密碼,則無法進行修改。

我可以使用不同的密碼保護多個工作表嗎?

可以,IronXL 允許您使用不同的密碼保護多個工作表。您可以迭代工作簿中的工作表,並使用 ProtectSheet 方法對每個工作表應用不同的密碼,例如 workBook.GetWorkSheet("Summary").ProtectSheet("SummaryPass123").

用程式碼保護 Excel 工作表最簡單的方法是什麼?

最簡單的方法是使用 IronXL 的一行程式碼方法:new IronXL.WorkBook("data.xlsx").DefaultWorkSheet.ProtectSheet("MyPass123").這會立即以密碼保護預設的工作表。

密碼保護會影響匯出工作表為不同格式的能力嗎?

不會,IronXL 中的密碼保護不會阻止您將工作表匯出為不同的試算表格式。您仍然可以在應用密碼保護後將受保護的工作表儲存和匯出為各種 Excel 格式。

Can I integrate worksheet protection in complex Excel workflows?

Absolutely, IronXL's worksheet protection feature can be integrated into complex workflows, enabling you to create new spreadsheets with pre-configured protection settings, manage sensitive data, and automate data processing.

What happens if a user tries to modify a protected worksheet without the password?

If a user tries to modify a protected worksheet, Excel will prompt them to enter the correct password. Without it, they can only view the content but cannot make changes.

Does worksheet protection affect performance in IronXL?

While protection does not significantly impact performance, working with many protected worksheets in large workbooks may require optimization strategies to maintain efficiency.

How can I ensure compatibility of protected worksheets across different Excel versions?

Testing protected worksheets with various Excel versions before deployment ensures compatibility and helps identify any potential issues with different spreadsheet applications that support the Excel format.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備好開始了嗎?

Nuget Downloads 2,237,574版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用金鑰
無需信用卡或帳戶建立
PDF的C# NuGet程式庫
NuGet安裝

版本: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. 在方案資源管理器中,右鍵單擊參考,管理NuGet包
  2. 選擇瀏覽並搜尋“IronXL”
  3. 選擇包並安裝
C# PDF DLL
下載DLL

版本: 2026.9

  1. 下載並解壓IronXL到您的方案目錄中的比如~/Libs位置
  2. 在Visual Studio方案資源管理器中,右鍵單擊參考。選擇瀏覽,“IronXL.dll”

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費即時演示
Booking Badge

全球數百萬工程師的信賴

Iron Software的客戶標誌
獲得無義務諮詢
填寫以下表格或電郵sales@ironsoftware.com
您的資料將始終保密。
全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立