Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.01.2018, 15:13
Vansha Vansha вне форума
Прохожий
 
Регистрация: 18.01.2018
Сообщения: 30
Версия Delphi: 7, XE5
Репутация: 10
По умолчанию формирование отчета из Delphi в Exel

Здравствуйте.
Нужна помощь.
Необходимо при нажатии BitBtn (сформировать), из компонентов Edit1, Edit2, Edit3, данные строк отправлялись ранее созданный документ Exel. И к тому же в заданную ячейку например С18, G12 и т.д.
Пример:
Ф.И.О. лист1 в ячейку C10, H8, лист2 в ячейку N28
адрес лист1 в ячейку, B20, лист3 в ячейку F20
телефон лист2 в ячейку D2

Документ Exel в нем создана таблица, куда и нужно будет вставлять данные.
Ответить с цитированием
  #2  
Старый 18.01.2018, 17:30
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 exApp: Variant;
begin
 exApp:= CreateOleObject('Excel.Application');
 exApp.WorkBooks.Open('Test.xls');

 exApp.Worksheets.Item['Лист1'].Range['C10']:= Edit1.Text;
 exApp.Worksheets.Item['Лист1'].Range['H8'] := Edit1.Text;
 exApp.Worksheets.Item['Лист2'].Range['N28']:= Edit1.Text;
 exApp.Worksheets.Item['Лист1'].Range['B20']:= Edit2.Text;
 exApp.Worksheets.Item['Лист3'].Range['F20']:= Edit2.Text;
 exApp.Worksheets.Item['Лист2'].Range['D2'] := Edit3.Text;
end;
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Alegun за это полезное сообщение:
Guaho (18.01.2018), Vansha (18.01.2018)
  #3  
Старый 18.01.2018, 20:54
Vansha Vansha вне форума
Прохожий
 
Регистрация: 18.01.2018
Сообщения: 30
Версия Delphi: 7, XE5
Репутация: 10
По умолчанию

Alegun, огромное спасибо, буду пробовать, экспериментировать.
Ответить с цитированием
  #4  
Старый 18.01.2018, 21:26
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Vansha
...буду пробовать, экспериментировать.
Нужно ещё задать парметры "формирования отчёта", напр. нужно или нет во время выполнения показывать "родительский" экзель, за это отвечает свойство exApp.Visible, чтоб показать результат заполнения необходимо его выставить как true, а конечное сохранение выполняется так
Код:
exApp.Workbooks[1].SaveAs('Test.xls');
ну и это чтоб прибить Excel
Код:
if not VarIsEmpty(exApp) then
   begin
     exApp.DisplayAlerts:= false;
     exApp.Quit;
     exAPP := Unassigned;
    end;
там много чего ещё сделать можно
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Alegun за это полезное сообщение:
Guaho (18.01.2018), Vansha (19.01.2018)
  #5  
Старый 19.01.2018, 14:19
Vansha Vansha вне форума
Прохожий
 
Регистрация: 18.01.2018
Сообщения: 30
Версия Delphi: 7, XE5
Репутация: 10
По умолчанию

Все работает безупречно. Спасибо большое.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter