如何在C#中使用ClosedXML激活Excel的最后一个工作表?
在C#中用ClosedXML激活Excel最后一个工作表的正确方法
你当前的代码仅设置了目标工作表的激活与选中状态,但Excel同一时间仅允许一个工作表处于选中激活状态。如果其他工作表未取消选中状态,打开文件后就会出现不符合预期的效果。
正确的处理步骤如下:
- 先取消所有工作表的选中状态
- 定位到最后一个工作表,设置它为激活并选中
对应的代码示例:
// 获取工作簿的最后一个工作表 var lastWorksheet = workbook.Worksheets.Last(); // 取消所有工作表的选中状态 foreach (var worksheet in workbook.Worksheets) { worksheet.SetTabSelected(false); } // 设置最后一个工作表为激活状态并选中标签 lastWorksheet.SetTabActive(); lastWorksheet.SetTabSelected(true); // 保存文件 workbook.SaveAs(openFileDialog1.FileName);
这样处理后,打开Excel文件时会自动定位并激活最后一个工作表,达到你想要的效果:
- 原效果:工作表栏中多个标签被选中,未定位到最后一个工作表
- 期望效果:工作表栏中仅最后一个工作表被选中并处于激活状态
内容的提问来源于stack exchange,提问作者muhtarkator
相关产品推荐
相关产品推荐

