場合によっては、他の人が特定のシートのデータを表示しないようにするために、ブック内の1つ以上のシートを非表示にすることができます。操作後、隠されたシートのデータは表示されなくなりますが、これらのデータを他のシートから引用することができます。データを再表示するには、シートの非表示設定を削除します。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel にシートを非表示と再表示する方法を紹介します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
C# と VB.NET で Excel にシートを非表示する
シートは非表示または非常に非表示に設定することができます。Excel の unhide コマンドを使用すると、シートの非表示設定を簡単に削除できます。しかし、シートが非常に非表示に設定されている場合は、Excel のユーザーインタフェースでシートを再表示することはできません。
Spire.XLS for.NET では、Worksheet.Visibility プロパティを WorksheetVisibility.Hidden または WorksheetVisibility.StrongHidden に設定することで、シートを非表示または非常に非表示に設定できます。ワークブックには少なくとも1つのワークシートが表示されている必要があることに注意してください。
以下に詳細な操作手順を示します:
- Workbook クラスのインスタンスを初期化します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.Worksheets[int] プロパティを使用して、インデックスで特定のシートを取得します。
- Worksheet.Visibility プロパティを WorksheetVisibility.Hidden または WorksheetVisibility.StrongHidden に設定することで、シートを非表示または非常に非表示に設定します。
- Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
- C#
- VB.NET
using Spire.Xls;
namespace HideWorksheetsInExcel
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.LoadFromFile("Sample.xlsx");
//最初のシートを取得する
Worksheet sheet1 = workbook.Worksheets[0];
//シートを非表示にする
sheet1.Visibility = WorksheetVisibility.Hidden;
// 2番目のシートを取得する
Worksheet sheet2 = workbook.Worksheets[1];
//シートを非常に非表示に設定する
sheet2.Visibility = WorksheetVisibility.StrongHidden;
//結果ファイルを保存する
workbook.SaveToFile("HideWorksheets.xlsx", ExcelVersion.Version2013);
}
}
}
Imports Spire.Xls
Namespace HideWorksheetsInExcel
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Workbookクラスのインスタンスを初期化する
Dim workbook As Workbook = New Workbook()
'Excelファイルをロードする
workbook.LoadFromFile("Sample.xlsx")
'最初のシートを取得する
Dim sheet1 As Worksheet = workbook.Worksheets(0)
'シートを非表示にする
sheet1.Visibility = WorksheetVisibility.Hidden
'2番目のシートを取得する
Dim sheet2 As Worksheet = workbook.Worksheets(1)
'シートを非常に非表示に設定する
sheet2.Visibility = WorksheetVisibility.StrongHidden
'結果ファイルを保存する
workbook.SaveToFile("HideWorksheets.xlsx", ExcelVersion.Version2013)
End Sub
End Class
End Namespace
C# と VB.NET で Excel にシートを再表示する
Worksheet.Visibility プロパティを WorksheetVisibility.Visible に設定することで、非表示または非常に非表示のシートを再表示できます。以下に詳細な操作手順を示します:
- Workbook クラスのインスタンスを初期化します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
- Excel 内のすべてのシートをループします。
- 非表示または非常に非表示のシートを検索し、Worksheet.Visibility プロパティを WorksheetVisibility.Visible に設定することでシートを再表示する。
- Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
- C#
- VB.NET
using Spire.Xls;
namespace ShowHiddenWorksheetsInExcel
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.LoadFromFile("HideWorksheets.xlsx");
//Excel内のすべてのシートをループする
foreach (Worksheet sheet in workbook.Worksheets)
{
//非表示のシートを再表示する
if (sheet.Visibility == WorksheetVisibility.Hidden)
{
sheet.Visibility = WorksheetVisibility.Visible;
}
//非常に非表示のシートを再表示する
else if (sheet.Visibility == WorksheetVisibility.StrongHidden)
{
sheet.Visibility = WorksheetVisibility.Visible;
}
}
//結果ファイルを保存する
workbook.SaveToFile("ShowHiddenWorksheets.xlsx", ExcelVersion.Version2013);
}
}
}
Imports Spire.Xls
Namespace ShowHiddenWorksheetsInExcel
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Workbookクラスのインスタンスを初期化する
Dim workbook As Workbook = New Workbook()
'Excelファイルをロードする
workbook.LoadFromFile("HideWorksheets.xlsx")
'Excel内のすべてのシートをループする
For Each sheet As Worksheet In workbook.Worksheets
'非表示のシートを再表示する
If sheet.Visibility Is WorksheetVisibility.Hidden Then
sheet.Visibility = WorksheetVisibility.Visible
'非常に非表示のシートを再表示する
ElseIf sheet.Visibility Is WorksheetVisibility.StrongHidden Then
sheet.Visibility = WorksheetVisibility.Visible
End If
Next
'結果ファイルを保存する
workbook.SaveToFile("ShowHiddenWorksheets.xlsx", ExcelVersion.Version2013)
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。