相关疑难解决方法(0)

Epplus删除特定行中的所有行

有可能以某种方式删除特定(空)行中的所有后续行?我试过cyclus

            for (int rowNum = 1; rowNum <= worksheet.Dimension.End.Row; rowNum++)
            {
                var rowCells = from cell in worksheet.Cells
                               where (cell.Start.Row == rowNum)
                               select cell;

                if (!rowCells.Any(cell => cell.Value != null))
                {
                    worksheet.DeleteRow(rowNum);
                }

            }
Run Code Online (Sandbox Code Playgroud)

但如果excel中有数百万个空行,则需要几分钟.

Epplus提供此方法, worksheet.DeleteRow(int rowFrom, int rows)但我不知道所有其他空行的计数.

在下面的示例中,我需要删除所有12+行,但问题是我不知道特定行,空行开始的位置.

在此输入图像描述

替代aproach可以找到最后一个非空行并删除范围的所有内容,这将更快,但是在表内有空行的另一个问题.

ws.DeleteRow(lastFilledTableRow, workSheet.Dimension.End.Row - tableRowsCount,true);
Run Code Online (Sandbox Code Playgroud)

在这个例子中,问题是红色行,但也许我会告诉用户这种excel格式无效并避免问题.

在此输入图像描述

c# epplus

5
推荐指数
2
解决办法
2961
查看次数

标签 统计

c# ×1

epplus ×1