| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка 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, Спасибо Вам ещё раз, теперь все ОК. |