Запись в Excel с использованием Microsoft.Jet.OLEDB.4.0 + Редактирование одновременно - PullRequest
3 голосов
/ 01 ноября 2011

Я использовал код, описанный здесь , чтобы обновить лист Excel, используя c #.Проблема в том, что файл блокируется и не может быть отредактирован вручную во время его обновления (в отличие от кода примера, я делаю постоянные обновления, подача данных в реальном времени) Поскольку это торговое приложение, операторы должны иметь возможность добавлять формулы Excelв то время как другие ячейки обновляются.

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

Полагаю, если dll или надстройка вызывается изнутри excel, а не oledb, у меня не возникло бы такой проблемы с блокировкой.Поэтому, если есть какой-либо способ вызвать мой код из Excel, а не наоборот (не слишком кропотливо, если это возможно), я приветствую любое предложение

РЕДАКТИРОВАТЬ: Решение
Я наконец выбрал RTD Technology для Excel, и это именно то, что я искал.
MS Reference 10 лет и ориентирован на VBA, но он дает большие рекомендации, и с тех пор ничего не изменилось.Я думаю, что я бы не справился без Artcile Кенни Керра на тему .
Большое ему спасибо.

1 Ответ

4 голосов
/ 01 ноября 2011

Вам нужно будет интегрироваться в сам Excel ... Excel предлагает интерфейс для достижения именно того, что вы описываете ... он основан на COM и называется RTD (Realtime Data-Server) и вызывается из Excel.

Вы должны создать компонент COM, который соответствует официальной спецификации ...

Некоторые полезные ссылки для начала работы:

...