Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Из Excel в DataGridView без sql запроса


Автор: Torgovec 6.12.2007, 12:07
Есть задача - выдернуть из xls документа ячейки имеющие опред. вид, как то цвет или установки шрифта, и положить их в DataGridView.
SQL запрос к xls документу не позволяет мне этого сделать т.к. он делает полную выборку, по крайней мере условия отбора необходимые мне я вставить в SQL запрос не могу(возможно просто не знаю как), единственное, что приходит в голову так это бежать циклом по всему xls-документу и сравнивать каждую ячейку с заданным условием, а вот как это осуществить я не знаю...
Отсюда вопрос:
Может кто сталкивался и подскажет в какую сторону копать или хотя-б кинет в меня ссылкой ?

P.S.
Достаточно много рыл гугл, но 90% статей о том как сформировать xls документ, а вот как считать данные без SQL что то не нашёл...
Заранее благодарен.

Автор: izekia 6.12.2007, 12:28
Torgovec, подключаешь Microsoft.Office.Interop.Excel
если нет - то надо скачать PIA для твоей версии офиса, а дальше все просто, открываешь нужный файл и тп

тут пример есть, только наоборот
http://citforum.ru/programming/delphi/pivot_report/

Автор: Torgovec 6.12.2007, 14:07
Спасибо Вам за пример, думаю далее я смогу разобраться.
Только вот есть проблемка с подключением PIA.
Я скачал пакет "O2003PIA.EXE"(у меня 2003 офис) с сайта microsoft.com, установил его,
перезапустил VisualStudio, добавил в References проекта "Microsoft Office 11.0 oblect library 2.3".
Пытаюсь добавить в код using Microsoft.Office.Interop.Excel;
Получаю ошибку:
The type or namespace name 'Interop' does not exist in the namespace 'Microsoft.Office' (are you missing an assembly reference?)

P.S.
установлена Visual Studio 2008

Автор: izekia 6.12.2007, 14:37
Torgovec, Microsoft Office 11.0 oblect library 2.3 это Core, нужно добавить библиотеку именно для Excell

Автор: Torgovec 6.12.2007, 14:57
izekia, 
Спасибо Вам ещё раз, теперь все ОК.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)