Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

из Grid в Excel [D7, MSSQL]


Ольга ©   (2006-11-07 12:23:00) 

В результате выполнения ХР формируется Grid . Как проще всего вывести результаты в Excel? Можно ли создать выгрузку, если количество и размер полей Gridа меняется в зависимости от результатов выполнения ХП?


Max Zyuzin   (2006-11-07 17:19:00) [1]

>Vadim.Spb   (07.11.06 16:07) [4]
Не надо грубить... написано же, что примитивнее некуда.


Соловьев   (2006-11-07 16:40:00) [2]


> В результате выполнения ХР формируется Grid

а в чем проблема сразу ХП писать в Excel(LinkedServer)?


Vadim.Spb   (2006-11-07 16:07:00) [3]


> Sheet.Cells(i,j+1) := MyDataSet.Fields[j].DisplayText

Бред из старых книг.
Забудьте про поячеечный вывод - очень долго.
Только через вариантный массив.
Данная тема недавно уже поднималась - ищите.


Megabyte   (2006-11-07 14:21:00) [4]

перед exl := Unassigned;надо еще написать WorkBook.close, а то процесс Excel будет висеть в памяти.


Max Zyuzin   (2006-11-07 12:59:00) [5]

Примитивнее некуда :)
procedure ToExcel;
var
 exl: OleVariant;
 WorkBook, Sheet: Variant;
 i,j : cardinal;
begin
 try
   exl := CreateOleObject('Excel.Application');
   WorkBook := exl.Application.WorkBooks.Add;
   Sheet := WorkBook.WorkSheets[1];
   exl.visible := True;
   MyDataSet.First;
   i := 1;
   While not MyDataSet.Eof do
   begin
     for j := 0 to MyDataSet.FieldCount - 1 do
     begin
      Sheet.Cells(i,j+1) := MyDataSet.Fields[j].DisplayText;
     end;
     MyDataSet.Next;
     inc(i);
   end;
 except
   ShowMessage('Не срослось');
 end;
 exl := Unassigned;
end;


ANB   (2006-11-07 12:26:00) [6]

Конечно, можно. Читать про работу с экселем из делфи.
Кстати, грид тут вообще ни при чем. Разве что если русские имена колонок в нем лежат.


Наверх

Титульная страница Поиск, карта сайта Написать письмо