How to get the list of worksheet names in an Excel workbook?
14 Jul 20259 minutes to read
You can get the list of worksheet names in an Excel workbook using Syncfusion XlsIO. This can include all worksheets or only visible worksheets or only hidden worksheets, based on your requirement.
Get All Worksheet Names
The following code snippet demonstrates how to get all worksheet names from an Excel workbook.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
FileStream inputStream = new FileStream("Data/Input.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = application.Workbooks.Open(inputStream);
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print all worksheet names
foreach (IWorksheet worksheet in worksheets)
{
Console.WriteLine(worksheet.Name);
}
//Dispose streams
inputStream.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Open("Input.xlsx");
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print all worksheet names
foreach (IWorksheet worksheet in worksheets)
{
Console.WriteLine(worksheet.Name);
}
}
Using excelEngine As ExcelEngine = New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
Dim inputStream As New FileStream("Input.xlsx", FileMode.Open, FileAccess.Read)
Dim workbook As IWorkbook = application.Workbooks.Open(inputStream)
'Get the worksheets collection
Dim worksheets As WorksheetsCollection = TryCast(workbook.Worksheets, WorksheetsCollection)
'Print all worksheet names
For Each worksheet As IWorksheet In worksheets
Console.WriteLine(worksheet.Name)
Next
End Using
A complete working example to get all worksheet names in an Excel workbook using C# is present on this GitHub page.
Get Only Visible Worksheet Names
The following code snippet demonstrates how to get only visible worksheet names from an Excel workbook.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
FileStream inputStream = new FileStream("Data/Input.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = application.Workbooks.Open(inputStream);
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print visible worksheet names
foreach (IWorksheet worksheet in worksheets)
{
if (worksheet.Visibility == WorksheetVisibility.Visible)
Console.WriteLine(worksheet.Name);
}
//Dispose streams
inputStream.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Open("Input.xlsx");
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print visible worksheet names
foreach (IWorksheet worksheet in worksheets)
{
if (worksheet.Visibility == WorksheetVisibility.Visible)
Console.WriteLine(worksheet.Name);
}
}
Using excelEngine As ExcelEngine = New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
Dim inputStream As New FileStream("Input.xlsx", FileMode.Open, FileAccess.Read)
Dim workbook As IWorkbook = application.Workbooks.Open(inputStream)
'Get the worksheets collection
Dim worksheets As WorksheetsCollection = TryCast(workbook.Worksheets, WorksheetsCollection)
'Print visible worksheet names
For Each worksheet As IWorksheet In worksheets
If worksheet.Visibility = WorksheetVisibility.Visible Then
Console.WriteLine(worksheet.Name)
End If
Next
End Using
A complete working example to get visible worksheet names in an Excel workbook using C# is present on this GitHub page.
Get Only Hidden Worksheet Names
The following code snippet demonstrates how to get only hidden worksheet names from an Excel workbook.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
FileStream inputStream = new FileStream("Data/Input.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = application.Workbooks.Open(inputStream);
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print hidden worksheet names
foreach (IWorksheet worksheet in worksheets)
{
if (worksheet.Visibility == WorksheetVisibility.Hidden)
Console.WriteLine(worksheet.Name);
}
//Dispose streams
inputStream.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Open("Input.xlsx");
//Get the worksheets collection
WorksheetsCollection worksheets = workbook.Worksheets as WorksheetsCollection;
//Print hidden worksheet names
foreach (IWorksheet worksheet in worksheets)
{
if (worksheet.Visibility == WorksheetVisibility.Hidden)
Console.WriteLine(worksheet.Name);
}
}
Using excelEngine As ExcelEngine = New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
Dim inputStream As New FileStream("Input.xlsx", FileMode.Open, FileAccess.Read)
Dim workbook As IWorkbook = application.Workbooks.Open(inputStream)
'Get the worksheets collection
Dim worksheets As WorksheetsCollection = TryCast(workbook.Worksheets, WorksheetsCollection)
'Print hidden worksheet names
For Each worksheet As IWorksheet In worksheets
If worksheet.Visibility = WorksheetVisibility.Hidden Then
Console.WriteLine(worksheet.Name)
End If
Next
End Using
A complete working example to get hidden worksheet names in an Excel workbook using C# is present on this GitHub page.