Какова подходящая технология для переноса данных в электронную таблицу Excel с помощью формулы из источника .NET? - PullRequest
6 голосов
/ 17 марта 2012

Я хотел бы иметь возможность разрешить пользователю вводить пользовательскую формулу в ячейку в Excel, которая будет подписываться на данные, предоставляемые внешним приложением .NET. Например, пользователь может ввести ...

=getCurrentValue("ABC")

Существует внешнее приложение .NET (C #), которое определяет значение "ABC" каждую минуту.

В ячейке должно отображаться начальное значение «ABC» из внешнего приложения и обновление, когда внешнее приложение отправляет новое значение.

В прошлом я думал, что внешнее приложение будет сервером DDE, а формула будет формулой клиента DDE, но DDE, очевидно, мертва. Какую «правильную» технологию использовать для этого?

Обратите внимание, что электронная таблица должна извлекать данные с помощью формулы. Информация поступает не в файл Excel с фиксированным шаблоном, а в любую электронную таблицу, в которую пользователь вводит формулу.

Спасибо

John

Ответы [ 2 ]

5 голосов
/ 07 мая 2012

Excel RTD (данные в реальном времени) является заменой DDE. Это позволяет передавать значения в ячейку всякий раз, когда доступны обновления. Если процесс, предоставляющий обновления, является внешним приложением, настройка канала WCF между RTD-сервером и внешним приложением должна позволить вам передавать обновления в реальном времени в Excel.

Вот несколько ссылок:

0 голосов
/ 17 марта 2012

Вы можете общаться с листами Excel через Excel Api:

new Microsoft.Office.Interop.Excel.Application();

...