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