![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Excel [D5, Win2k]
Yulik © (2002-03-14 13:05:00)Помогите пожалуйста!! Я передаю данные в Excel, а передаётся только 255 строк... и вылетает ошибка... Что делать?
Yulik (2002-03-14 15:24:00) [1]Текст ошибки:"OLE error 800A03EC"
Yulik (2002-03-14 15:14:00) [2]try
exl := CreateOleObject("Excel.Application");
WorkBook := exl.Application.WorkBooks.Add;
Sheet := WorkBook.WorkSheets[1];
i:=2;
for j:=0 to OCIQuery1.Fields.Count-1 do
begin
Sheet.Cells(1,npp(OCIQuery1.Fields[j].FullName)) := shap(OCIQuery1.Fields[j].FullName);
Sheet.Cells[1,j+1].Font.Bold := True;
end;
while not OCIQuery1.EOF do
begin
for j:=0 to OCIQuery1.Fields.Count-1 do
begin
Sheet.Cells(i,npp(OCIQuery1.Fields[j].FullName)) := OCIQuery1.Fields[j].asString;
end;
i:=i+1;
OCIQuery1.Next;
end;
Sheet.Cells.Columns.Autofit;
finally
exl.visible:=true;
end;
Alx2 (2002-03-14 14:43:00) [3]>_Mike_ (14.03.02 14:25)
Спасибище за совет! Наконец-то тормоза сниму :))
Век живи, век учись :))
Кулюкин Олег (2002-03-14 14:28:00) [4]Строк или столбцов?
10000 строк нормально передается, так что ошибка в механизме передачи.
Чтобы получить ответ надо:
1. Привести текст сообщения об ошибке
2. Привести код экспорта данных
_Mike_ (2002-03-14 14:25:00) [5]А как передаешь, если не секрет? :-)
Я это делаю через OLE , причем передаю не ячейками,
не строками, а сразу весь блок в одной string.
При передаче больших объемов разница в скорости несколько
порядков (т.е. в 1000-10000 раз!!!)
Данные готовь в стандартном для Екселя формате:
меджу ячейками #9, между строками - #10