The code doesn't scale well on large files, the actual delete line seems to do a lot of work and takes a long time on large files.
This is what i used for COM :
worksheet.get_Range("A" + dataTagFirstRow, "A" + dataTagEndRow).EntireRow.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp);
This is what Im doing in closedxml
foreach (var r in worksheet.Range("A" + dataTagFirstRow, "A" + dataTagEndRow).Rows())
{
worksheet.Row(r.RowNumber()).Delete();
}