Каков наилучший подход для вставки данных в Excel (2007 и 2010) с использованием C # - PullRequest
0 голосов
/ 26 сентября 2011

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

Инструменты:
В настоящее время я использую Excel 2007, но потенциально могу работать с Excel 2010 в ближайшем будущем.В настоящее время я планирую использовать VS 2005 Professionl или C # Express 2010.

Мой подход заключается в создании шаблонов для 20 файлов, чтобы форматирование и данные, которые не изменялись, уже сохранялись.Через C # я планирую вставлять данные в соответствующие ячейки в каждом «Листе» для каждого файла.

Я сталкивался с несколькими подходами, на которых я читал (здесь и на других сайтах), а именно -

  1. Excel Interop
  2. OLE DB
  3. ADO.NET
  4. Открыть XML

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

Извините, если вопрос слишком субъективен и не уместен.Я пойму, если кто-то решит закрыть его.

Спасибо.

Ответы [ 3 ]

1 голос
/ 26 сентября 2011

Я мог бы что-то упустить, но я бы подумал, что OLE DB и ADO.Net в конечном итоге будут одинаковыми, если вы говорите на C #.По сути, вы бы использовали поставщика OLE DB для Excel для ADO.Net.Я рекомендую http://www.connectionstrings.com/ для настройки вашего провайдера.

Однако, если вы собираетесь использовать шаблоны, это довольно просто.Просто настройте свои «таблицы» в ваших файлах Excel.Убедитесь, что вы используете именованные диапазоны.Все, что осталось, - это написать какой-нибудь базовый SQL, например:

INSERT INTO customers(id,name) VALUES (?, ?)

И это все.Я использовал это время от времени для манипулирования данными.Я использую его гораздо чаще для чтения данных.

С уважением,

Эрик.

0 голосов
/ 26 сентября 2011

OLEDB для меня лучший способ.

0 голосов
/ 26 сентября 2011

Я думаю, что OLE DB - самый простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...