繁体   English   中英

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

[英]How to delete worksheets from Excel workbook in C#?

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

所以从这里我想删除Sheet1,Sheet2,Sheet3。 我怎样才能做到这一点?

您可以调用.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的工作表

MSDN知道:

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

要么

Globals.Sheet1.Delete();

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

参考你的例子( 如何将两个excel工作簿合并到c#中的一个工作簿中? ),其中appExcel.Application类型的变量,你应该写这样的东西:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM