更改使用ClosedXML显示的工作表

我正在使用ClosedXMLdynamic创build一个包含多个工作表的Excel工作簿。 我正在努力改变工作簿中select回工作簿中的第一个工作表后,我已经完成生成内容,并找不到任何文档中有关如何更改所显示的工作表。 我努力了:

wb.Worksheet(1).Select(); 

这将选中工作表中的所有单元格,但不会将视图更改回来。

 wb.Worksheet(1).Cells(1,1).Value = wb.Worksheet(1).Cells(1,1).Value 

似乎设定的价值,但再次不改变观点。

我试图隐藏其他工作表,希望它会自动select可见工作表,但似乎没有工作。 有什么build议么?

使用ClosedXML将活动工作表设置为第一个工作表,将使用以下代码:

 wb.Worksheet(1).SetTabActive(); 

我发现Andrew K的解决scheme没有取消select以前select的选项卡。 我写了这个扩展来满足这个要求:

 public static class Extensions { public static void SetActiveSheet(this XLWorkbook workbook, IXLWorksheet sheetToSetActive) { foreach (var sheet in workbook.Worksheets) { var isCurrentSheet = sheet.Equals(sheetToSetActive); sheet.SetTabActive(isCurrentSheet); sheet.SetTabSelected(isCurrentSheet); } } } 

使用它如下:

 var sheetToSetActive = wb.Worksheet(1); wb.SetActiveSheet(sheetToSetActive);