DEV Community

Leon Davis
Leon Davis

Posted on

How to Hide Excel Worksheets in C# (Single, Batch & Very Hidden)

Many Excel files include calculation sheets, helper data, or internal reference tables that are not intended for end users. Leaving these sheets visible can clutter navigation and increase the risk of accidental changes.

Hiding Excel worksheets programmatically allows developers to control workbook structure consistently and automatically. This article explains how to hide Excel worksheets in C# using Free Spire.XLS for .NET , including single-sheet hiding, hiding multiple worksheets, using Very Hidden mode, and batch processing multiple Excel files.

Why Hide Worksheets in Excel Programmatically

In application-driven workflows, Excel files are often generated, updated, or distributed automatically. Relying on manual actions to hide worksheets is inefficient and error-prone.

Programmatic worksheet hiding is commonly used to:

  • Hide calculation or intermediate worksheets
  • Protect raw data and formulas from accidental edits
  • Simplify navigation in large workbooks
  • Prepare clean Excel reports for distribution

Automating these rules ensures consistent results across files and environments.

Install Free Spire.XLS for .NET

Before working with Excel files in C#, Free Spire.XLS for .NET needs to be installed and referenced in the project. The library can be added either through NuGet or by downloading the DLL directly.

Install via NuGet

Free Spire.XLS for .NET is available as a NuGet package and can be installed using the NuGet Package Manager or the Package Manager Console.

Install-Package FreeSpire.XLS
Enter fullscreen mode Exit fullscreen mode

After installation, the required assemblies are automatically referenced in the project.

Install via DLL Reference

Alternatively, the DLL can be downloaded and referenced manually:

  1. Download Free Spire.XLS for .NET
  2. Add the Spire.Xls.dll file to the project references
  3. Ensure the target framework is compatible

This approach is useful in environments where NuGet access is restricted.

Hide a Single Worksheet in C

The simplest scenario is hiding a specific worksheet by index or name. A hidden worksheet remains part of the workbook but is no longer visible in Excel.

Example: Hide a Worksheet by Index

Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

// Hide the first worksheet
workbook.Worksheets[0].Visibility = WorksheetVisibility.Hidden;

workbook.SaveToFile("HideSingleSheet.xlsx", ExcelVersion.Version2016);
Enter fullscreen mode Exit fullscreen mode

This method hides the worksheet while still allowing users to unhide it manually using Excel’s Unhide option.

Hide Multiple Worksheets in One Workbook

In many reports, only one or two worksheets are intended for users, while the remaining sheets support internal calculations or data preparation.

Example: Hide Multiple Worksheets Using a Loop

Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

// Hide all worksheets except the first one
for (int i = 1; i < workbook.Worksheets.Count; i++)
{
    workbook.Worksheets[i].Visibility = WorksheetVisibility.Hidden;
}

workbook.SaveToFile("HideMultipleSheets.xlsx", ExcelVersion.Version2016);
Enter fullscreen mode Exit fullscreen mode

This approach is particularly useful when generating dashboards or summary reports.

Make Worksheets Very Hidden in C

Excel supports a special visibility state called Very Hidden . Worksheets in this state cannot be unhidden through Excel’s user interface.

This option is typically used for internal logic sheets or reference data that should never be exposed.

Example: Set a Worksheet to Very Hidden

Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

// Make a worksheet very hidden
workbook.Worksheets["DataSheet"].Visibility = WorksheetVisibility.StrongHidden;

workbook.SaveToFile("VeryHiddenSheet.xlsx", ExcelVersion.Version2016);
Enter fullscreen mode Exit fullscreen mode

The worksheet does not appear in Excel’s Unhide dialog and can only be restored programmatically.

Hiding Worksheets Across Multiple Excel Files

In automated systems, worksheet visibility often needs to be applied across many Excel files at once. This is common in reporting pipelines, scheduled jobs, and batch processing scenarios.

Example: Batch Hide Worksheets in Multiple Excel Files

string inputFolder = @"C:\InputExcels";
string outputFolder = @"C:\OutputExcels";

// Create output folder if it doesn't exist
if (!Directory.Exists(outputFolder))
{
    Directory.CreateDirectory(outputFolder);
}

// Loop through all Excel files in the input folder
foreach (string filePath in Directory.GetFiles(inputFolder, "*.xlsx"))
{
    Workbook workbook = new Workbook();
    workbook.LoadFromFile(filePath);

    // Hide all worksheets except the first one
    for (int i = 1; i < workbook.Worksheets.Count; i++)
    {
        workbook.Worksheets[i].Visibility = WorksheetVisibility.Hidden;
    }

    string fileName = Path.GetFileName(filePath);
    string outputPath = Path.Combine(outputFolder, fileName);

    workbook.SaveToFile(outputPath, ExcelVersion.Version2016);
}
Enter fullscreen mode Exit fullscreen mode

This ensures consistent worksheet visibility across all processed files without manual intervention.

Hidden vs Very Hidden: What’s the Difference?

Visibility Type Can Be Unhidden in Excel UI Typical Use Case
Hidden Yes Reduce clutter
Very Hidden No Protect internal data

Choosing the appropriate option depends on whether users should be allowed to restore worksheet visibility.

Best Practices for Hiding Excel Worksheets

  • Keep at least one worksheet visible to avoid Excel warnings
  • Use Very Hidden only for sheets that must remain inaccessible
  • Apply visibility rules during file generation or processing
  • Combine worksheet hiding with protection settings when necessary

These practices help balance usability and data safety.

Conclusion

Hiding Excel worksheets in C# is a practical way to control workbook structure and improve usability. With Free Spire.XLS for .NET, developers can easily hide single worksheets, multiple sheets, or apply Very Hidden settings for stronger protection.

By automating worksheet visibility, Excel files can be generated consistently and safely without relying on manual operations or VBA macros.

Top comments (0)