Este team de trabajo ha pasado horas buscando para darle respuesta a tu búsqueda, te ofrecemos la respuestas de modo que nuestro objetivo es serte de mucha apoyo.
Solución:
Sé que es antiguo, pero no pude encontrar ninguna solución, así que hice una por mi cuenta. Está verificando la última fila si está vacía y, en caso afirmativo, la elimina y hace esto hasta que encuentra una fila que no está vacía. (no vacío significa aquí: todas las columnas en esta fila tienen algún valor)
worksheet.TrimLastEmptyRows();
public static void TrimLastEmptyRows(this ExcelWorksheet worksheet)
while (worksheet.IsLastRowEmpty())
worksheet.DeleteRow(worksheet.Dimension.End.Row);
public static bool IsLastRowEmpty(this ExcelWorksheet worksheet)
var empties = new List();
for (int i = 1; i <= worksheet.Dimension.End.Column; i++)
var rowEmpty = worksheet.Cells[worksheet.Dimension.End.Row, i].Value == null ? true : false;
empties.Add(rowEmpty);
return empties.All(e => e);
La solución anterior es eliminar las últimas filas vacías en el archivo. Esto no funcionará si el archivo tiene filas vacías en medio de la lista de filas en alguna parte.
A continuación se muestra la solución para identificar las filas vacías en el medio de la lista de filas.
Usé una combinación de las anteriores y las mías para eliminar filas vacías al final de la lista de filas y filas vacías en el medio de la lista de filas
private void TrimEmptyRows(ExcelWorksheet worksheet)
//loop all rows in a file
for (int i = worksheet.Dimension.Start.Row; i <=
worksheet.Dimension.End.Row; i++)
bool isRowEmpty = true;
//loop all columns in a row
for (int j = worksheet.Dimension.Start.Column; j <= worksheet.Dimension.End.Column; j++)
if (worksheet.Cells[i, j].Value != null)
isRowEmpty = false;
break;
if (isRowEmpty)
worksheet.DeleteRow(i);
Nos puedes secundar nuestro trabajo escribiendo un comentario o puntuándolo te estamos eternamente agradecidos.