更改使用已关闭 XML 显示的工作表

本文关键字:显示 XML 工作 | 更新日期: 2023-09-27 18:37:12

我正在使用ClosedXML动态创建一个包含多个工作表的Excel工作簿。 生成内容后,我正在努力将所选工作表更改回工作簿中的第一个工作表,并且在文档中找不到有关如何更改显示工作表的任何内容。 我试过:

wb.Worksheet(1).Select();

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

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

似乎设置了值,但再次不会更改视图。

我尝试隐藏其他工作表,希望它会自动选择可见的工作表,但这似乎不起作用。 有什么建议吗?

更改使用已关闭 XML 显示的工作表

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

wb.Worksheet(1).SetTabActive();

我发现Andrew K的解决方案没有取消选择以前选择的选项卡。 我写这个扩展也满足这个要求:

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);