如何使用 EPPlus 移动 sheet?

How to Move a sheet using EPPlus?

EPPlus需要什么命令 , 移动工作簿中的工作表位置?

我找不到任何仅适用于 EPPlus Interop 的移动命令。

移动工作表有四种方法。他们是

excelPackage.Workbook.Worksheets.MoveAfter()
excelPackage.Workbook.Worksheets.MoveBefore()
excelPackage.Workbook.Worksheets.MoveToStart()
excelPackage.Workbook.Worksheets.MoveToEnd()

对于任何在 2021 年发现这一点的人来说,@chandler 是完全正确的,但让我补充一下:

//
// Summary:
//     Moves the source worksheet to the start of the worksheets collection
//
// Parameters:
//   sourceName:
//     The name of the source worksheet
public void MoveToStart(string sourceName);

myExcelPackage.Workbook.Worksheets.MoveToStart(myExcelWorkSheetObject.Name);

worksheetName 输入参数把我绊倒了。

我已经完成了这项工作。如果有人从我的回答中得到帮助,请分享答案。

FileInfo newFile = new FileInfo("d:\TestOrder.xlsx");
ExcelPackage pck = new ExcelPackage(newFile);

List<string> _sheet = new List<string>();
_sheet.Add("Summary");
_sheet.Add("Vertical");
_sheet.Add("DashBoard");
_sheet.Add("Delta");

int counter = 1;
foreach (var wsname in pck.Workbook.Worksheets)
{
    string worksheetname = wsname.Name;

    int index = _sheet.FindIndex(str => str.Contains(worksheetname));
    pck.Workbook.Worksheets.MoveAfter(counter, index + 1);
    counter++;
}

pck.Save();