更改使用 ClosedXML 显示的 sheet
Changing sheet displayed with ClosedXML
我正在使用 ClosedXML 动态创建一个包含多个 sheet 的 Excel 工作簿。在我完成生成内容后,我正在努力将 sheet selected 改回工作簿中的第一个 sheet,但在文档中找不到有关如何更改 [=23] 的任何内容=] 显示。我试过:
wb.Worksheet(1).Select();
这select作品中的所有单元格sheet,但它不会改变视图。
wb.Worksheet(1).Cells(1,1).Value = wb.Worksheet(1).Cells(1,1).Value
似乎设置了值,但同样没有改变视图。
我曾尝试隐藏其他 sheets,希望它会自动 select 可见的 sheets,但这似乎不起作用。有什么建议吗?
使用 ClosedXML 将活动 Sheet 设置为第一个工作表,将使用此代码:
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);
我正在使用 ClosedXML 动态创建一个包含多个 sheet 的 Excel 工作簿。在我完成生成内容后,我正在努力将 sheet selected 改回工作簿中的第一个 sheet,但在文档中找不到有关如何更改 [=23] 的任何内容=] 显示。我试过:
wb.Worksheet(1).Select();
这select作品中的所有单元格sheet,但它不会改变视图。
wb.Worksheet(1).Cells(1,1).Value = wb.Worksheet(1).Cells(1,1).Value
似乎设置了值,但同样没有改变视图。
我曾尝试隐藏其他 sheets,希望它会自动 select 可见的 sheets,但这似乎不起作用。有什么建议吗?
使用 ClosedXML 将活动 Sheet 设置为第一个工作表,将使用此代码:
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);