You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:06:03