Home » excel » c# – delete excel worksheets programmatically

c# – delete excel worksheets programmatically

Posted by: admin March 9, 2020 Leave a comment

Questions:

I have an excel workbook with many, many sheets. I want to delete all the sheets except for three of them.

Specifically, i would like to know if there is a way to remove the sheets using sheet name instead of ordinals (sheet number).

I am using excel interop and C# to work with Excel.

Microsoft.Office.Interop.Excel.Application xlApp = null;
Excel.Workbook xlWorkbook = null;
Excel.Sheets xlSheets = null;
Excel.Worksheet xlNewSheet = null;
How to&Answers:
xlApp.DisplayAlerts = false;
for (int i = xlApp.ActiveWorkbook.Worksheets.Count; i > 0 ; i--)
{
    Worksheet wkSheet = (Worksheet)xlApp.ActiveWorkbook.Worksheets[i];
    if (wkSheet.Name == "NameOfSheetToDelete")
    {
        wkSheet.Delete();
    }
}
xlApp.DisplayAlerts = true;

Answer:

I know this is old but I just use the fallowing

workBook.Sheets["Sheet1"].Delete();