我有一个包含许多工作表的Excel工作簿。我想要删除除其中三个以外的所有工作表。
具体而言,我想知道是否有一种方法可以使用工作表名称而不是序号(工作表编号)来删除工作表。
我正在使用Excel Interop和C#与Excel进行交互。
Microsoft.Office.Interop.Excel.Application xlApp = null;
Excel.Workbook xlWorkbook = null;
Excel.Sheets xlSheets = null;
Excel.Worksheet xlNewSheet = null;
for (int i = WorkSheets.Count; i > 1; i--)
- Ken WhiteC#
专家,但xlApp.DisplayAlerts = false
等应该放在循环外面。 - brettdj.Worksheets.Count
,因为在那个时候,该工作表索引已不再存在于“Sheets”集合中。否则,您可以进行“对于每个wksheet”的循环,并根据工作表的.Name
进行删除。 - David ZemensxlApp.DisplayAlerts = false
也是一样的,它永远不会被调用多次,因此将其放在循环外并没有实质性的区别 - 但我还是这样做了... - Jeremy Thompson我想删除除其中三个之外的**所有**工作表
- brettdj