Detección de referencia circular

Introducción

Los libros de trabajo pueden tener referencias circulares y, a veces, es necesario detectar si hay referencias circulares o no.

Concepto detrás de la detección de la referencia circular

Las referencias circulares solo se pueden detectar cuando se calcula la fórmula porque las referencias de una fórmula comúnmente dependen del resultado calculado de otras partes u otras fórmulas. Por lo tanto, proporcionamos nuevas API para este requisito (para recopilar celdas con referencias circulares) en el proceso de cálculo de fórmulas:

CalculationCell: Representa el cálculo de datos relevantes sobre una celda que se está calculando

AbstractCalculationMonitor.OnCircular(IEnumerator circularCellsData): será invocado por el motor de cálculo de fórmulas cuando encuentre referencias circulares, el elemento en el enumerador esCalculationCell objetos que representan todas las celdas en un círculo. El valor devuelto indica si el motor de fórmulas necesita calcular esas celdas en circular después de esta llamada.

El usuario podrá recoger dichas referencias circulares en la ejecución deAbstractCalculationMonitor.OnCircular() método.

El archivo de muestra de origen se puede descargar desde el siguiente enlace:

Fórmulas circulares.xls

Definicion deMonitor circular clase que se deriva deResumenCálculoMonitor clase es la siguiente: