Главная страница
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-1168210228
Wind
2007-01-08 01:50
2007.01.28
Обновить занные в записи (SQL)


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


8-1149096765
Михайлов Антон
2006-05-31 21:32
2007.01.28
прогрессив скин


8-1149216168
h8394E
2006-06-02 06:42
2007.01.28
Библиотеки DirectX8 -> d3dx8ab.dll или d3dx8d.dll


15-1167925238
nameless
2007-01-04 18:40
2007.01.28
Почему когда я подключаю USB 1.1 мышь -