| 
| 
 | Вопрос # 1 832/ вопрос решён / | 
 |  Приветствую, уважаемые эксперты!Прошу Вас помочь мне в решении данного вопроса: мне необходимо выгружать данные из БД в Excel. У меня уже реализована выгрузка из БД в отдельный excel-файл. Но мне необходимо выгружать данные в Excel, который должен находится на самой дельфовой форме. При этом необходимо иметь возможность работы с этим excel-ем как с обычным excel -файлом, но чтобы эти действия могли отслеживаться из дельфи.
 
|  |   Вопрос задала: vea (статус: Посетитель)Вопрос отправлен: 21 августа 2008, 01:38
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Мережников Андрей Здравствуйте, vea!Вот ссылки по TOleContainer:http://ftf.grsu.by/UchProc/konspekt/com/ch06,
 http://www.cyberguru.ru/programming/delphi/delphi-components-part3-page2.html,
 http://pcfaq.biz/index.php/option/content/task/view/id/31. И переставьте местами строки Olecontainer.enabled и OleContainer.CreateFroFile;
 P.s. кучу ссылок можно найти в Google
 
|  | Ответ отправил: Мережников Андрей (статус: Абитуриент)Время отправки: 21 августа 2008, 20:20
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо Вам большое! Буду изучать. |  Ответ #2. Отвечает эксперт: Шичко Игорь Здравствуйте, vea!Для того чтобы можно было редактировать файл непосредственно из OleContainer логично использовать
 OleContainer1.CreateLinkToFile(File_Schfk.FileName, False); // связь с объектом
 Для создания нового файла используется:
 OleContainer1.InsertObjectDialog;
 
 Некоторые статьи:
 http://www.mgopu.ru/PVU/2.1/Delphi/les22.html
 http://it.kgsu.ru/DelCOM/com_0022.html
 
|  | Ответ отправил: Шичко Игорь (статус: 9-ый класс)Время отправки: 22 августа 2008, 08:00
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо Вам большое! Буду изучать. |  
 Мини-форум вопросаВсего сообщений: 5; последнее сообщение — 21 августа 2008, 18:54; участников в обсуждении: 4. 
|   | Вадим К (статус: Академик), 21 августа 2008, 02:02 [#1]:что имеется ввиду под выражением "Но мне необходимо выгружать данные в Excel, который должен находится на самой дельфовой форме."? Он у Вас как OLE объект на форме или Вы даже не решили, как его туда вывести?
 Последнее предложение тоже не блещит ясностью.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Мережников Андрей (статус: Абитуриент), 21 августа 2008, 05:51 [#2]:Вы хотите отслеживать изменения, которые произвел пользователь в Excel файле для того, чтобы внести их потом в БД? |  
|   | Шичко Игорь (статус: 9-ый класс), 21 августа 2008, 07:55 [#3]:Сформулируйте более четко задачу: что должен иметь возможность делать пользователь по шагам. Непонятно что и где должно меняться и где это должно отслеживаться. |  
|   | vea (статус: Посетитель), 21 августа 2008, 18:38 [#4]:Да мне необходимо выгрузить данные из БД в Excel, который у меня находится в OleContainer-е на форме дельфи. Затем пользователь в этом контейнере в Excel-e проводит изменения и нажимает кнопку "сохранить". После этого мне надо считать данные из OleContainer-а и уже на их основании я создаю скрипты и записываю в базу изменения. Все это я уже сделала, но не в OleContainer-е, а сохраняя данные просто в файл Excel-я, и потом загружая измененный пользователями файл обратно в базу. Но заказчик просит чтоб все это было именно внутри дельфовой формы. |  
|   | vea (статус: Посетитель), 21 августа 2008, 18:54 [#5]:С файлом Excel до этого я работала через E:=CreateOleObject('Excel.Application');
 И все прекрасно создавалось, записывалось, считывалось и сохранялось.
 
 А теперь я вроде бы могу открыть уже какой либо существующий файл
 через
 if OpenDialog1.Execute then
 begin
 olecontainer1.Enabled:=True;
 oleContainer1.CreateObjectFromFile(OpenDialog1.FileName,False);
 oleContainer1.setFocus;
 end;
 
 а вот как с ним (этим Excel-ем) в дальнейшем работать не совсем понятно.
 К тому же после открытия Excel из контейнера, сначала он ругается на то что вызов был отклонен, а затем хоть и открывается, но как то криво и после закрытия саомго Excel окно контейнера остается каким то диагонально-полосатым. То ли вызов у меня не правильно написан? то ли опции у меня еще не заданы какие-то?
 И так я как то не нашла, как не открывать уже существующий файл Excel, а создавать самой и как сохранять изменения обратно в файл?
 Может у кого нибудь есть ссылки на статьи где все это поподробнее с примерами описано. Буду очень Вам признательна.
 |  31 января 2011, 19:31: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |