C# 使用EPPlus如何调整Excel文件中工作表的自定义排列顺序
EPPlus调整工作表顺序实现方案
实现思路
方案1:针对性调整(固定顺序场景,操作最少)
初始工作表顺序:Vertical → Summary → Delta → DashBoard,仅需2步即可完成调整:
- 第一步将
Summary移动到所有工作表最开头 - 第二步将
DashBoard移动到Delta之前
调整后直接得到目标顺序:Summary→Vertical→DashBoard→Delta
方案2:通用调整(顺序可变场景,适配任意初始顺序)
如果初始顺序不固定,或者后续可能修改目标排序,可以预先定义目标顺序的名称列表,按列表顺序遍历将每个工作表移动到末尾,遍历完成后工作表顺序就和定义的列表完全一致,无需关注原始顺序。
示例代码
方案1代码
using (var excelPackage = new ExcelPackage(new FileInfo("你的Excel文件路径.xlsx"))) { var sheets = excelPackage.Workbook.Worksheets; // 将Summary移到最开头 sheets["Summary"].MoveToStart(); // 将DashBoard移到Delta前面 sheets["DashBoard"].MoveBefore(sheets["Delta"]); excelPackage.Save(); }
方案2代码
using (var excelPackage = new ExcelPackage(new FileInfo("你的Excel文件路径.xlsx"))) { var sheets = excelPackage.Workbook.Worksheets; // 自定义目标顺序 var targetSort = new List<string> { "Summary", "Vertical", "DashBoard", "Delta" }; foreach (var sheetName in targetSort) { sheets[sheetName].MoveToEnd(); } excelPackage.Save(); }
注意:工作表名称需要和实际名称完全匹配,避免匹配不到抛出异常,如有不确定可以先加判空逻辑校验工作表是否存在。
内容的提问来源于stack exchange,提问作者Babu Goel
相关产品推荐
相关产品推荐

