如何在C#中从Excel工作簿中删除工作表

本文关键字:删除 工作 工作簿 Excel 中从 | 更新日期: 2023-09-27 18:08:22

假设我有一个工作簿,它有6张表,分别为Sheet1、Sheet2、Sheet3、Sheet4、Sheet5和Sheet6。

所以我想从这里删除Sheet1,Sheet2,Sheet3。我该怎么做?

如何在C#中从Excel工作簿中删除工作表

您可以调用.Delete((方法,如下所示:

Globals.Sheet1.Delete();

更新,根据您的评论:

Excel._Worksheet ws = (Excel._Worksheet)app.Workbooks[i].Worksheets[j];
ws.Delete();

我希望这段代码能帮助你:

app.DisplayAlerts = false; 
worksheet.Delete(); 
app.Displayalerts = true;

其中应用是您的XlsApplication。

MSDN知道:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();

Globals.Sheet1.Delete();

请参阅此处:如何:从工作簿中删除工作表

参考您的示例(如何在c#中将两个excel工作簿合并为一个工作簿?(,其中app是您的excel.Application类型的变量,您应该这样写:

for (int i = 1; i <= 3; i++)
    ((Excel.Worksheet)app.ActiveWorkbook.Sheets[1]).Delete();

p.S:在我看来,Worksheets集合的索引是从1开始的,而不是从0开始的,但我不确定,现在无法检查。如果不起作用,请尝试使用从0到2的i值。

Dim s1 as Excel.Worksheet
s1 = wb.Sheets("Sheet1")
s1.Visible = Excel.XlSheetVisibility.xlSheetVisible
s1.Delete()

您需要更改可见性,因为您无法删除可见性设置为Excel.XlSheetVisibility.xlSheetVeryHidden 的工作表