Posterior a de esta prolongada recopilación de datos pudimos solucionar este asunto que suelen tener algunos los usuarios. Te brindamos la respuesta y nuestro objetivo es servirte de mucha apoyo.
Solución:
MergeCells
no es una función de celdas, es una función de rango, así que en lugar de:
if (ws.Cells[strtRow, j].MergeCells)
necesitas:
_Excel.Range range = (_Excel.Range) ws.Cells[strtRow, j];
if(range.MergeCells) //returns true if cell is merged or false if its not
Si desea comprobar si un Range
contiene celdas combinadas, entonces el MergeCells
la propiedad es lo que buscas.
Si se fusiona un rango, volverá true
. Si un rango contiene celdas combinadas (es decir, algunas están combinadas, otras no), volverá DBNull.Value
.
Entonces, esto debería funcionar para toda su hoja:
object mergeCells = ws.UsedRange.MergeCells;
var containsMergedCells = mergeCells == DBNull.Value || (bool)mergeCells;
Valoraciones y comentarios
Te invitamos a añadir valor a nuestro contenido informacional dando tu veteranía en las aclaraciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)