Код: Выделить всё
Microsoft.Office.Tools.ExcelКод: Выделить всё
System.DataОбъекты времени выполнения интересуются только значениями определенных столбцов (определяемых значением string[] в вызове SetDataBindings), и я хочу, чтобы пользователь мог использовать формулы для определения значений для интересующих столбцов.
Это представляет проблему. Привязка Listobject к DataTable удаляет все формулы. Я могу обойти эту проблему, прочитав формулы перед привязкой и восстановив их впоследствии, чтобы формула сохранялась, но изменения формулы не запускали событие DataTable.ColumnChanged (не записывайте значение, отображаемое в Excel, в DataTable ).
Есть ли лучший способ уловить изменения, вызванные вычислением формулы?
Одно из возможных решений, которое я не решаюсь изучить, - это использовать NamedRange . ListObject может содержать тысячи строк, и один или несколько именованных диапазонов для каждой строки являются громоздкими (каждый именованный диапазон появляется и сохраняется в диспетчере имен Excel, и его необходимо будет удалять при каждом удалении строки или по окончании времени выполнения).
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-formulas
Мобильная версия