C++でワークシートにパスワードを設定する方法
C#でワークシートをパスワードで保護するには、IronXLのProtectSheetメソッドにworkSheet.ProtectSheet("MyPass123")のようなパスワードパラメーターを指定します。 これは、任意のExcelワークシートに読み取り専用の保護を適用し、ユーザーがコンテンツを表示できるようにしながら、不正な変更を防止します。
クイックスタート: 1行のコードでワークシートを保護する
IronXLを使用すると、ProtectSheetメソッドを呼び出すことで、任意のワークシートを読み取り専用にすることができます。 C#で簡単に保護を実現したい開発者に最適です。
今すぐ NuGet で PDF を作成してみましょう:
NuGet パッケージ マネージャーを使用して IronXL をインストールします
このコード スニペットをコピーして実行します。
new IronXL.WorkBook("data.xlsx").DefaultWorkSheet.ProtectSheet("MyPass123");実際の環境でテストするためにデプロイする
最小限のワークフロー(5ステップ)

- ワークシートをパスワード保護するための C# ライブラリをダウンロードする
- 開いたワークブック内のパスワードで保護されたワークシートにアクセスする
- 選択したワークシートにパスワード保護を適用する
- 選択したワークシートからパスワード保護を削除します
- スプレッドシートをさまざまなスプレッドシート形式にエクスポートする
IronXLを使い始める
パスワードで保護されたワークシートにアクセスするには?
IronXLを使用すると、パスワードなしで任意の保護されたワークシートにアクセスして変更を加えることができます。 IronXLでスプレッドシートを開くと、任意のワークシートの任意のセルを変更できます。 This capability is particularly useful when you need to load existing spreadsheets that may have protection applied by other users or systems.
保護されたワークシートで作業する場合、IronXLは基盤となるセキュリティをシームレスに処理します。 You can open Excel worksheets that are password-protected and perform operations like reading data, updating cells, or applying formulas without needing to know the original password. このため、IronXLは複数の保護されたファイルを処理する必要がある自動データ処理シナリオに最適です。
ワークシートにパスワード保護を適用するには?
Excelでユーザーが内容を表示できる状態でワークシートへの変更を制限するには、パスワードをパラメータとしてProtectSheetメソッドを使用します。 例えば、workSheet.ProtectSheet("IronXL")。 これにより、選択したワークシートにパスワードに基づく読み取り専用の認証が設定されます。
:path=/static-assets/excel/content-code-examples/how-to/set-password-worksheet-protect.csusing 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");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");This approach is particularly useful when managing worksheets that contain different levels of sensitive information. You can also combine worksheet protection with workbook-level password protection for enhanced security.
ユーザーが保護されたワークシートを開こうとすると何が起こりますか?

ユーザーがExcelで保護されたワークシートを変更しようとすると、パスワードの入力を求められます。 正しいパスワードがないと、コンテンツを見ることはできても、変更することはできません。 この保護は、異なるバージョンのExcelや、Excel形式をサポートするその他のスプレッドシートアプリケーションでも有効です。
さまざまなシナリオで保護されたワークシートを扱う
IronXLのワークシート保護機能はエクセルの他の操作とシームレスに統合されています。 You can still perform read operations, extract data, and even convert the file to different formats while maintaining the protection status.
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");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()を呼び出すだけです。
:path=/static-assets/excel/content-code-examples/how-to/set-password-worksheet-unprotect.cs// 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");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.ドキュメント保護ステータス:どのワークシートが保護されているか、なぜ保護されているかのログを管理する。 これは、メンテナンスやトラブルシューティングに役立ちます。
- Combine with License Management: When distributing protected Excel files, ensure you have properly configured your IronXL license for deployment scenarios.
4.保護シナリオのテスト: 保護されたワークシートを展開する前に、互換性を確保するためにさまざまなExcelバージョンでテストしてください。
5.パフォーマンスを考慮する:保護はパフォーマンスに大きな影響を与えませんが、大規模なワークブックで多数の保護されたワークシートを使用する場合、最適化戦略が必要になることがあります。
高度な保護シナリオ
IronXLのワークシート保護は、より複雑なワークフローに統合することができます。 For instance, you can create new spreadsheets with pre-configured protection settings:
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");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");For comprehensive Excel file manipulation capabilities, explore the complete IronXL documentation or check out tutorials on reading Excel files to expand your Excel automation toolkit.
IronXL allows you to protect and unprotect any Excel workbook and worksheet with a single line of C# code.
よくある質問
C#でExcelワークシートをパスワードで保護するには?
C#でIronXLのProtectSheetメソッドを使ってExcelのワークシートをパスワードで保護することができます。ワークシート・オブジェクトに対してworkSheet.ProtectSheet("YourPassword")を呼び出すだけです。これにより読み取り専用の保護が適用され、ユーザーが内容を閲覧できる一方で、不正な変更を防ぐことができます。
パスワードを知らなくても、パスワードで保護されたワークシートにアクセスして変更できますか?
はい、IronXLでは保護されたワークシートにアクセスし、変更することができます。IronXLでスプレッドシートを開けば、どのワークシートのどのセルも変更できます。複数の保護されたファイルを処理する必要がある自動データ処理シナリオに最適です。
ProtectSheet メソッドはどのような種類の保護に適用されますか。
IronXLのProtectSheetメソッドは、選択されたワークシートに読み取り専用の認証を適用します。つまり、Excelでファイルを開くときに正しいパスワードを入力しないと、ユーザーは内容を見ることはできますが、変更を加えることはできません。
複数のワークシートを異なるパスワードで保護できますか?
はい、IronXLでは複数のワークシートを固有のパスワードで保護することができます。workBook.GetWorkSheet("Summary").ProtectSheet("SummaryPass123")のように、ProtectSheetメソッドを使用して、ワークブック内のワークシートを繰り返し、それぞれに異なるパスワードを適用することができます。
Excelワークシートをコードで保護する最も簡単な方法は何ですか?
最も簡単な方法は、IronXLの1行コードを使用する方法です: new IronXL.WorkBook("data.xlsx").DefaultWorkSheet.ProtectSheet("MyPass123").これでデフォルトのワークシートがパスワード保護されます。
パスワード保護は、ワークシートをさまざまな形式にエクスポートする機能に影響しますか?
IronXLのパスワード保護は、ワークシートを異なるスプレッドシート形式にエクスポートすることを妨げるものではありません。パスワード保護を適用した後も、保護されたワークシートをさまざまなExcel形式に保存してエクスポートすることができます。






