Привязка объекта списка Excel VSTO с пользовательскими формуламиC#

Место общения программистов C#
Ответить
Anonymous
 Привязка объекта списка Excel VSTO с пользовательскими формулами

Сообщение Anonymous »

У меня есть надстройка VSTO для Excel (C#), которая привязывает ListObject (

Код: Выделить всё

Microsoft.Office.Tools.Excel
) в DataTable (

Код: Выделить всё

System.Data
) с помощью метода ListObject.SetDataBinding( DataTable, "", string[]). Объекты времени выполнения прослушивают событие DataTable.ColumnChanged.
Объекты времени выполнения интересуются только значениями определенных столбцов (определяемых значением string[] в вызове SetDataBindings), и я хочу, чтобы пользователь мог использовать формулы для определения значений для интересующих столбцов.
Это представляет проблему. Привязка Listobject к DataTable удаляет все формулы. Я могу обойти эту проблему, прочитав формулы перед привязкой и восстановив их впоследствии, чтобы формула сохранялась, но изменения формулы не запускали событие DataTable.ColumnChanged (не записывайте значение, отображаемое в Excel, в DataTable ).
Есть ли лучший способ уловить изменения, вызванные вычислением формулы?
Одно из возможных решений, которое я не решаюсь изучить, - это использовать NamedRange . ListObject может содержать тысячи строк, и один или несколько именованных диапазонов для каждой строки являются громоздкими (каждый именованный диапазон появляется и сохраняется в диспетчере имен Excel, и его необходимо будет удалять при каждом удалении строки или по окончании времени выполнения).

Подробнее здесь: https://stackoverflow.com/questions/798 ... r-formulas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»