Я создаю надстройку Excel в Angular, используя TypeScript. Цель надстройки состоит в том, чтобы связать значения из надстройки с электронной таблицей и сохранить ссылку, чтобы пользователь мог знать, к какой таблице / ячейке он привязал значение.
Однако, если пользователь вставляет или удаляет столбец (или строку), ссылка на ячейку, записанную в надстройке, должна обновиться до нового значения.
Вот пример:
Допустим, пользователь привязывает значение к ячейке A1. Ссылка (A1) будет отображаться для этого значения в надстройке. Теперь пользователь добавляет новый столбец в позицию A. Значение, ранее показанное в ячейке A1, теперь будет находиться в ячейке B1. Тем не менее, надстройка будет по-прежнему отображать ячейку A1 для справки.
Я думал об использовании события Office.EventType.DocumentSelectionChanged для обнаружения изменений в документе. Проблема в том, что обработчик не указывает, какая часть рабочего листа изменилась, и я не вижу себя проверяющим каждую ячейку, чтобы увидеть, изменилось ли что-то, так как это сильно повлияет на производительность моей надстройки.
Есть предложения?