Допустим, у меня есть одна рабочая книга, в которой 6 листов: Лист1, Лист2, Лист3, Лист4, Лист5, Лист6.
Итак, я хочу удалить Лист1, Лист2, Лист3.Как я могу это сделать?
Вы можете вызвать метод .Delete () , например:
Globals.Sheet1.Delete();
Обновить, согласно вашему комментарию:
Excel._Worksheet ws = (Excel._Worksheet)app.Workbooks[i].Worksheets[j]; ws.Delete();
Надеюсь, этот код поможет вам:
app.DisplayAlerts = false; worksheet.Delete(); app.Displayalerts = true;
, где app - ваше приложение XlsApplication.
Dim s1 as Excel.Worksheet s1 = wb.Sheets("Sheet1") s1.Visible = Excel.XlSheetVisibility.xlSheetVisible s1.Delete()
Вам нужно изменить видимость, поскольку вы не можете удалить лист с видимостью, установленной в Excel.XlSheetVisibility.xlSheetVeryHidden
Ссылаясь на ваш пример ( Как объединить две книги Excel в одну книгу в c #? ), где app - это ваша переменная типа Excel.Application , вы должны написать что-то вроде этого:
for (int i = 1; i <= 3; i++) ((Excel.Worksheet)app.ActiveWorkbook.Sheets[1]).Delete();
PS: мне кажется, что коллекция Worksheets индексируется начиная с 1, а не с 0, но я не уверен и не могу проверить прямо сейчас.Если это не работает, попробуйте значения i от 0 до 2.
MSDN знает:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();
или
См. Здесь: Как: удалять рабочие таблицы из рабочих книг