![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
из 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]Конечно, можно. Читать про работу с экселем из делфи.
Кстати, грид тут вообще ни при чем. Разве что если русские имена колонок в нем лежат.