Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизЗагрузка результата селекта в Excel Найти похожие ветки
← →
Pit (2002-04-15 08:58) [8]:)) Спасибо конечно ребята за ответы.
Но я имел в виду другое ... то что вы посоветовали я знаю ...
Но это ДОЛГО!
Ну да ладно ...
Я решил эту проблемму ща поделюсь может кому пригодится!
Дело в том что вы предлагаете это заполнение каждой ячейки ...
Ну посудите сами на сколько это долго если взять во внимание .. ну к примеру экономичемкие отчеты ...
Можно заполнять строку ... но то же долго хотя быстрее чем ячейку :)
Но оказывается можно заполнить и весь лист целиком :))
ща напишу как!
procedure AddToExcel(Q: TQuery);
var StartRow, pRow: Integer;
mArray: Variant; //Переменная для Excel
begin
Q.First;
pRow := 0;
mArray := VarArrayCreate([0,Q.RecordCount, 1,13],varVariant); // Определение массива где 0,Q.RecordCount - количество строк 1,13 - количество столбцов
while not Q.Eof do
begin
Application.ProcessMessages;
mArray[pRow, 1] := "";
mArray[pRow, 2] := Q.FieldByname("Pole1").AsString;
mArray[pRow, 3] := Q.FieldByname("Pole2").AsString;
mArray[pRow, 4] := Q.FieldByname("Pole3").AsString;
mArray[pRow, 5] := Q.FieldByname("Pole4").AsDateTime;
mArray[pRow, 6] := Q.FieldByname("Pole5").AsFloat;
mArray[pRow, 7] := Q.FieldByname("Pole6").AsString;
mArray[pRow, 8] := Q.FieldByname("Pole7").AsDateTime;
mArray[pRow, 9] := Q.FieldByname("Pole8").AsDateTime;
mArray[pRow, 10] := Q.FieldByname("Pole9").AsFloat;
mArray[pRow, 11] := Q.FieldByname("Pole10").AsFloat;
mArray[pRow, 12] := Q.FieldByname("Pole11").AsFloat;
mArray[pRow, 13] := Q.FieldByname("Pole12").AsString;
Q.Next;
Inc(pRow);
end;
aSchet.Range["A1", "M" + IntToStr(Q.RecordCount)].EntireRow.Insert(xldown); // вставляем пустые строки для примера если у вас загрузка идет в шаблон ... как у меня
aSchet.Range["A1", "M" + IntToStr(Q.RecordCount)].Value := mArray; // ВО ... Вставляем полный массив :))
end;
Ну а дальше балуйтесь ... с фонтами ... форматированием ... и т.д.
Скорость ... ну с 30 минут ... на 2 минуты ... я думаю существенная :))
Надеюсь комунить пригодится ...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c