Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-94273
КСА
2002-04-08 11:25
2002.04.29
Дайте кто-нибудь пожалуйста IB 5.6


3-94292
hn
2002-04-08 17:02
2002.04.29
не работает try


3-94315
MaXie
2002-04-09 09:44
2002.04.29
Совмещение несовместимого!


14-94543
McSimm
2002-03-21 12:32
2002.04.29
apache и ssi


14-94537
VictorT
2002-03-21 15:36
2002.04.29
програма примерки причёсок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский