Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
ВнизОтчет в Excel Найти похожие ветки
← →
Silla (2003-08-17 13:57) [0]Привет мастерам!
Поискал я материал как работать с Excel посредством Delphi
и нашел лишь в Королевстве Delphi статью по интеграции
Почитал, но тяжело как-то, закчал пример,
и разобрался только с проверкой на наличия Execl,
и создания (открытия книги)
Но как работать с ячейками?
Есть таблица и связанная с ней таблица
Необходимо все экспортировать в Excel,
причем из второй таблицы необходимо все записи
записать в одну ячейку через запятую
Посоветуйте что-нибудь - стать или примеры какие
А может прямо на форуме и ответите.
Использую ADO
← →
Silla (2003-08-17 13:58) [1]Заранее спасибо !
← →
sniknik (2003-08-17 14:06) [2]> MS Access]
> Использую ADO
запрос
SELECT * INTO Sheet1 IN "d:\Test.Xls" "Excel 5.0;" FROM Table
не только положит данные в первый лист из таблици, но и создаст екселевский файл Test.Xls при отсутствии. (если лист уже есть меняй команду на INSERT INTO)
← →
Silla (2003-08-18 15:37) [3]Используя такой подход не решаю вторую чатсь вопроса
Из второй таблицы (подчиненной) в одну ячейку необходимо
записать данные через запятую
Дополнение
Как корректно определить стоит ли на машине Excel?
Спасибо.
← →
Alex Bredin (2003-08-18 16:06) [4]
> Почитал, но тяжело как-то, закчал пример,
> и разобрался только с проверкой на наличия Execl,
> и создания (открытия книги)
а это кто писал?
там все разжевано и в рот положено
← →
Silla (2003-08-18 16:18) [5]>Alex Bredin
Только теоретически, на практике оказалось, что все не так просто
есть сомнения что я все правильно понял
поэтому прошу еще раз объяснить или показать
← →
sniknik (2003-08-18 16:18) [6]> Используя такой подход не решаю вторую чатсь вопроса
> Из второй таблицы (подчиненной) в одну ячейку необходимо
> записать данные через запятую
и никак не решиш (средствами движка), запросов делающих из столбца значений строку (с запятыми нет неважно) нет. только перебором, открыть как таблице и ... от начала до конца.
(переворачивать в запросе столбец->строка можно только если движок функции поддерживает и ты этот цикл в самом запросе напишеш, ну или в PIVOT таблицах в Access (но там тоже так врядли получится))
> Дополнение
> Как корректно определить стоит ли на машине Excel?
в этом случае Excel не нужен, обработка ведется в Jet ISAM-е (который есть раз Access база открыта).
если это "в обшем", так сказать для развтия
то к примеру так можно
V: Variant;
try
V:= CreateOleObject("Excel.Application");
except
raise Exception.Create("Нет установленного Excel-я");
end;
хотя можно и проще наверное (это "тяжеловесное" попытка запустить Excel только ради узнать запустится ли), в реестре к примеру посмотреть (хотя если в реестре есть соответствуюцие ветки это не значит что есть сам Excel :о))).
← →
koks (2003-08-18 17:01) [7]ставь себе XL Report и не парься...
А статья(и) действительно написана неплохая(ие)..... для изучения. но пользоватьс ею "в лоб" не советую. Работа программы будет "зависеть от погоды". Вообще, OLE-взаимодействие , тем более с MS-программами штука очень не простая. Статья в королевстве - верхушка огромного айсберга. Чтобы самому поднять этот айсберг нужно перелопатить кучу исходников и теоретических трудов. Если у тебя есть время и желание - то вперед. Начинаешь с этой статьи - там есть ссылки куда смотреть дальше. Если времени нет, или лень.. (как было в моем случае :)), то - XL Report.
← →
Silla (2003-08-18 17:55) [8]Я пробовал, но ошибки лезут со всех "дыр"
и не знаю на чем остановиться
← →
Hawk2 (2003-08-18 23:36) [9]XL Report вещь хорошая, но платная. А шаровый компонент выводит только 64 записи. Я к примеру на основе статей из Королества и Афалина Софт написал свой модуль в котором пару процедур и функций с помощью которых делаю отчеты в Ексель. При этом данные выводятся по зарание созданому шаблону. Вот только с формулами не получилось. Но на это как уже говорили нужно время.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c