2010-08-27 4 views
0

У меня есть приложение winform C#, которое показывает торговую информацию пользователям. Мы хотим, чтобы открыть лист Excel и запросить данные из приложения. Взамен приложение возвращает данные для Excel. После этого, если данные обновляются в приложении, они также отражаются в excel. Другими словами, мы делаем excel-отображение того, что показывает приложение (только когда Excel запрашивает его).Взаимодействующее приложение winform с excel

Кто-нибудь знает, что нам нужно для достижения этого.

Спасибо, миллион.

ответ

0

Оригинал:

Может использовать соединение с базой данных в Excel для запроса к базе данных напрямую?
Где приложение winform хранит данные?

Edit:
Я могу думать о нескольких подходов:

  1. автоматизации Использование Excel для создания электронных таблиц, как пользователь выбирает столбцы.
    Это, вероятно, медленнее, чем опция 2.
  2. При выборе столбцов сохраните информацию в таблице конфигурации в базе данных.
    Прочитайте таблицу, и с помощью VBA адаптируйте лист в соответствии с приложением.
    Это сложнее, чем вариант 1, но гораздо быстрее.
+0

он хранится в локальной базе данных (sqlite). Но идея состоит в том, чтобы позволить пользователю манипулировать данными, которые он видит на экране. Пользователь на передней панели выбирает интересующие колонки, а затем данные отображаются в сетке. Пользователь может создавать множество разных колонок и изменять их. По мере изменения пользователем нам необходимо соответствующим образом обновить сетку excel. Поэтому переход непосредственно к базе данных не является вариантом. Excel должен быть синхронизирован с текущим состоянием приложения. Спасибо –

+0

Это решение (# 2) может работать, но не дает гибкости. Во-первых, Excel должен запрашивать информацию. Учитывая, что мы в конечном итоге сохраняем в локальной базе данных, у нас много экранов, и нам нужно будет сэкономить много данных и получить дополнительную сложность для приложений. Вы знакомы с сервером RTD (сервер данных реального времени)? Я пытался использовать его, но не мог понять, как я могу получить данные этого приложения. –

+0

Я не знаком с сервером данных реального времени. В вашем вопросе вы заявляете (только когда он запрашивает excel). Не означает ли это, что вы можете обновить макет и данные из таблицы config, когда пользователи нажимают кнопку в excel? – Bravax

-1

Взаимодействие в команде может пригодиться вам. http://dotnetperls.com/excel-interop позволяет создавать/редактировать/читать excel (и другие приложения com) из вашего приложения C#, когда вы ссылаетесь на их пространства имен.

+0

johnnyh, interop позволяет вашему приложению взаимодействовать с excel. Мы хотим, чтобы excel взаимодействовал с приложением. Другими словами, excel запрашивает данные и приложение. –

+0

В этом случае вы можете написать собственный макрос и нажать кнопку на панели инструментов excel с вызовом приложения, которое затем через interop повторно заполняет данные на листе? – JohnnyH

+0

Можете ли вы предоставить ссылку, которая показывает, как это сделать? Что для меня очень интересно, так это ваша линия «есть кнопка на панели инструментов Excel с призывом к вашему заявлению». Как можно прослушивать приложение? –

0

Будет ли база данных в базе данных работать на вас? Я использовал этот http://www.quilogic.cc/features.htm в прошлом, чтобы Access VBA работал с .net-приложением. Возможно, ваше приложение будет записывать текущие данные в хранилище в памяти, а Excel может считывать из хранилища через VBA.

Смежные вопросы