Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-24624
Maks
2003-08-22 08:30
2003.09.08
Помогите разобраться


7-24722
Dmitriy M. Volkov
2003-06-24 13:51
2003.09.08
Замена стандартного taskmgr в WinXP


3-24382
Nikkkkk
2003-08-15 09:44
2003.09.08
Как вTTable перейти к записи с оределенным номером???


14-24662
Карелин Артем
2003-08-20 15:56
2003.09.08
Почему сервис не может работать с модулем Filectrl?


4-24755
Igor__
2003-07-09 12:11
2003.09.08
Метод хранения BitMap в памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский