假设我有一个工作簿,其中有 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。
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();
PS:在我看来,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 的工作表