复制到新工作簿的 EPPlus 工作表在 Excel 中打开时保持选中状态

EPPlus Worksheets copied into a new workbook remain selected when opened in Excel

这是问题所在:

我将工作表从另一个工作簿复制到一个新的 Excel 包中并保存该新包。 当我在 Excel 中打开该包时,复制的工作表显示为已选中。

请参阅此处 OutFile.xlsx:https://1drv.ms/u/s!Aoz3mqCqpAZbjldtXKcClJkstXQK?e=yL4vQR

如何在保存工作簿之前取消选择 EPPlus 中的所有工作表?

我正在使用 EPPlus v4.5.3.3

下面是说明问题的代码:

ExcelPackage xlPackage = new ExcelPackage();
ExcelWorkbook xlWorkbook = xlPackage.Workbook;
xlWorkbook.Worksheets.Add("AddedSheet1");
xlWorkbook.Worksheets.Add("AddedSheet2");
xlWorkbook.Worksheets.Add("AddedSheet3");

ExcelPackage sourcePackage = new ExcelPackage(new FileInfo(@"c:\temp\AnyBlankExcelFile.xlsx"));
ExcelWorksheet sheet1 = sourcePackage.Workbook.Worksheets["Sheet1"];
xlWorkbook.Worksheets.Add("Copied1", sheet1);
xlWorkbook.Worksheets.Add("Copied2", sheet1);
xlWorkbook.Worksheets.Add("Copied3", sheet1);

xlWorkbook.Worksheets.Add("AddedSheet4");
xlPackage.SaveAs(new FileInfo(@"C:\temp\OutFile.xlsx"));  

xlPackage.Dispose();
sourcePackage.Dispose();

似乎 epplus 默认选择复制的标签。只需要获取可以使用 Add 调用完成的工作表并告诉它取消选择:

var c1 = xlWorkbook.Worksheets.Add("Copied1", sheet1);
c1.View.SetTabSelected(false);

var c2 = xlWorkbook.Worksheets.Add("Copied2", sheet1);
c2.View.SetTabSelected(false);

var c3 = xlWorkbook.Worksheets.Add("Copied3", sheet1);
c3.View.SetTabSelected(false);