Saltar al contenido

cómo detectar celdas combinadas en c # usando MS interop excel

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *