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

时间:2011-09-13 12:51:42

标签: c# windows excel worksheet

假设我有一张工作簿,其中有6张作为Sheet1,Sheet2,Sheet3,Sheet4,Sheet5,Sheet6。

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

5 个答案:

答案 0 :(得分:3)

你可以这样打电话给.Delete() method

Globals.Sheet1.Delete();

根据您的评论更新:

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

答案 1 :(得分:2)

我希望此代码能为您提供帮助:

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

其中 app 是您的XlsApplication。

答案 2 :(得分:0)

MSDN知道:

((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();

Globals.Sheet1.Delete();

见这里:How to: Delete Worksheets from Workbooks

答案 3 :(得分:0)

参考您的示例(How to merge two excel workbook into one workbook in c#?),其中 app Excel.Application 类型的变量,您应该写下这样的内容:

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

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

答案 4 :(得分:0)

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

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