Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

из Grid в Excel   Найти похожие ветки 

 
Ольга   (2006-11-07 12:23) [0]

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


 
ANB ©   (2006-11-07 12:26) [1]

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


 
Max Zyuzin ©   (2006-11-07 12:59) [2]

Примитивнее некуда :)
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;


 
Megabyte ©   (2006-11-07 14:21) [3]

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


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


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

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


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


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

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


 
Max Zyuzin ©   (2006-11-07 17:19) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1168606314
Anton22
2007-01-12 15:51
2007.01.28
Символы Юникод


1-1165228805
StriderMan
2006-12-04 13:40
2007.01.28
SetFocus и ScrollBox


2-1168416384
Rentgen
2007-01-10 11:06
2007.01.28
как из TDateTime вычесть к примеру 5 минут?


2-1168273653
Dyakon_Frost
2007-01-08 19:27
2007.01.28
Опять работа со строками


15-1167800015
Pas
2007-01-03 07:53
2007.01.28
Как перевести на Паскаль ?