首页 > 解决方案 > EPPlus DeleteRow 不会向上移动行

问题描述

我有一个 if 语句,如果遇到它会隐藏我的工作表中的行。我需要将该行完全删除,然后向上移动。

使用 DeleteRow 应该自动向上移动,但它没有。最终结果是我的 Excel 工作表仍然包含那些条目,只是整行现在都是空白的。

我正在使用 EPPlus v4.5.2.1

if (!computerMap.ContainsKey(systems[i])) { 
    //ws.Row(2 + i).Hidden = true; //commented out
    ws.DeleteRow(2 + i);
}

标签: c#delete-rowepplus

解决方案


有 3 种重载方法,您应该使用具有 3 个参数的方法。

DeleteRow(int rowFrom, int rows, bool shiftOtherRowsUp);

这将删除一个连续的数据区域。如果您需要删除多个非继续区域,请找出您需要删除的所有区域,并使用此方法循环删除它们。


推荐阅读