How to skip unnecessary worksheets in .NET Excel Library

14 Aug 20262 minutes to read

XlsIO provides support to avoid processing unnecessary worksheets when opening an Excel. The following code snippet illustrates this.

using (ExcelEngine excelEngine = new ExcelEngine())
{
    IApplication application = excelEngine.Excel;
    application.DefaultVersion = ExcelVersion.Xlsx;
    IWorkbook workbook = application.Workbooks.Open("Input.xlsx",ExcelOpenType.Automatic, ExcelParseOptions.ParseWorksheetsOnDemand);

    // Access the first worksheet (triggers parsing)
    IWorksheet worksheet = workbook.Worksheets[0];

    // Process your data
    string value = worksheet.Range["A1"].Text;

    // Save to file system
    workbook.SaveAs("Output.xlsx");
    workbook.Close();
    excelEngine.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
    IApplication application = excelEngine.Excel;
    application.DefaultVersion = ExcelVersion.Xlsx;
    IWorkbook workbook = application.Workbooks.Open("Input.xlsx",ExcelOpenType.Automatic,ExcelParseOptions.ParseWorksheetsOnDemand);

    // Access the first worksheet (triggers parsing)
    IWorksheet worksheet = workbook.Worksheets[0];

    // Process your data
    string value = worksheet.Range["A1"].Text;
    workbook.SaveAs("Output.xlsx");
}
Using excelEngine As ExcelEngine = New ExcelEngine()
        Dim application As IApplication = excelEngine.Excel
        application.DefaultVersion = ExcelVersion.Xlsx
        Dim workbook As IWorkbook = application.Workbooks.Open("Input.xlsx", ExcelParseOptions.ParseWorksheetsOnDemand)

        ' Access the first worksheet (triggers parsing)
        Dim worksheet As IWorksheet = workbook.Worksheets(0)

        ' Process your data...
        Dim value As String = worksheet.Range("A1").Text

        workbook.SaveAs("Output.xlsx")
    End Using

A complete working example to avoid processing unnecessary worksheets when opening an Excel document using C# is present on this GitHub page.