Самый быстрый способ взаимодействия между текущими (несохраненными) данными Excel и объектами C # предлагает очень глубокое обсуждение эффективного доступа к данным Excel.Согласно ответам, две рекомендации - использовать Excel-Dna или Add-in Express.
Я считаю, что Excel-Dna и Add-in Express обе должны работать как надстройка Excel.В моем случае бизнес-логика запускается в другом процессе и создает экземпляр Excel (New Excel.Application()
).При изменениях в Excel необходимо обновить внутренние объекты.
Эффективно получить значения ячеек из Excel можно с помощью DirectCast(Range.Value, Object(,))
.К сожалению, это невозможно для других свойств, таких как Range.Text
или Range.NumberFormat
.Как и ожидалось, итерация сквозных ячеек очень медленная.
Какой, по вашему мнению, самый эффективный способ доступа к данным Excel из основного процесса?Одна идея, которую я предложил, - добавить в Excel надстройку (используя, скажем, Excel-Dna), которая объединяет данные и затем отправляет их в основное приложение.Поскольку у меня нет большого опыта в распределении доменов между доменами, я был бы признателен за оценку, если это жизнеспособный подход или предпочтительнее другого.