以编程方式删除excel工作表

问题描述 投票:7回答:2

我有一个excel工作簿,有很多很多页。我想删除除了其中三个之外的所有工作表。

具体来说,我想知道是否有办法使用工作表名称而不是序数(工作表编号)删除工作表。

我正在使用excel interop和C#来使用Excel。

Microsoft.Office.Interop.Excel.Application xlApp = null;
Excel.Workbook xlWorkbook = null;
Excel.Sheets xlSheets = null;
Excel.Worksheet xlNewSheet = null;
c# .net excel
2个回答
11
投票
xlApp.DisplayAlerts = false;
for (int i = xlApp.ActiveWorkbook.Worksheets.Count; i > 0 ; i--)
{
    Worksheet wkSheet = (Worksheet)xlApp.ActiveWorkbook.Worksheets[i];
    if (wkSheet.Name == "NameOfSheetToDelete")
    {
        wkSheet.Delete();
    }
}
xlApp.DisplayAlerts = true;

2
投票

我知道这是旧的,但我只是使用以下内容

workBook.Sheets["Sheet1"].Delete();

© www.soinside.com 2019 - 2024. All rights reserved.