Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод в Excel 
V
    Опции темы
Martisha
Дата 13.1.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 15.10.2008
Где: казань

Репутация: нет
Всего: 1



Добрый день,
Знаю, эта тема уже не раз обсуждалась, только сама не знаю в чем проблема, помогите разобраться!!!
вобщем вывожу из Query запроса информацию в Excel, она выводится только не вся, а только та, что отожбражается в dbGrid-e
вот код:
Код

procedure TForm2.Button1Click(Sender: TObject);
var
    XL, Cell1, Cell2, ArrayData: Variant;
    RowCount: integer;
    BeginCol, BeginRow,i,ColCount:byte;
begin
    BeginCol := 1;  //начальные координаты ячейки
    BeginRow := 2;
    RowCount := Form2.OraQuery1.RecordCount; //количество строк
    ColCount := 18; //количество столбцов
    XL := CreateOleObject('Excel.Application');  //создаем Excel
    XL.Application.EnableEvents := false;  // отключаем реакцию Excel на событиядля ускорения
    XL.WorkBooks.Add;   //  добавляем книгу
    XL.Rows.Rows[1].Font.Bold:=true; //жирный шрифт
    XL.Rows.Rows[1].Font.Size:=10; //азмершрифта
    XL.Rows.Rows[1].WrapText := True; //перенос текста по словам
    XL.Rows.Rows[1].HorizontalAlignment := 3;//выравнивание по центру по горизонтали
    XL.Rows.Rows[1].VerticalAlignment := 2;//выравнивание по центру по ветикали
    XL.Cells[1,1]:= 'Date';//создаем шапку
    XL.Cells[1,2]:='Time';
    XL.Cells[1,3]:='Source';
    XL.Cells[1,4]:='Destination';
    XL.Cells[1,5]:='Packets';
    XL.Cells[1,6]:='Bytes';
    XL.Columns.Columns[1].ColumnWidth:=10;//размер столбцов
    XL.Columns.Columns[2].ColumnWidth:=10;
    XL.Columns.Columns[3].ColumnWidth:=29;
    XL.Columns.Columns[4].ColumnWidth:=29;
    XL.Columns.Columns[5].ColumnWidth:=10;
    XL.Columns.Columns[6].ColumnWidth:=10;

    ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant); //создаем вариантный массив для
                                                                                                                    //заполнения данных из запоса
    Form2.OraQuery1.First;
    for i := 1 to RowCount do
    begin
        ArrayData[i,1] := Form2.OraQuery1['date_'];
        ArrayData[i,2] := Form2.OraQuery1['time_'];
        ArrayData[i,3] := Form2.OraQuery1['source'];
        ArrayData[i,4] := Form2.OraQuery1['destination'];
        ArrayData[i,5] := Form2.OraQuery1['packets'];
        ArrayData[i,6] := Form2.OraQuery1['bytes'];
    Form2.OraQuery1.Next;
    end;
    Cell1 := XL.Cells[BeginRow-1, BeginCol];       // левая верхняя ячейка области в которую 
                                                                           //будем вводить данные    
    Cell2 := XL.Cells[BeginRow+RowCount-1, BeginCol + ColCount-1];//правая нижняя ячейка области
    XL.Range[XL.Cells[BeginRow, BeginCol], Cell2].Value := ArrayData; //вывод данных
    XL.Visible := true;
end;

PM MAIL ICQ   Вверх
Martisha
Дата 29.1.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 15.10.2008
Где: казань

Репутация: нет
Всего: 1



ох, до чего иногда бывают смешны ошибки!!! одну пееменную надо просто было задать не byte а integer.. smile 
PM MAIL ICQ   Вверх
Данкинг
Дата 29.1.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 5
Всего: 130



 smile 
А что за Application.EnableEvents такой? Как именно и реально ли это ускоряет работу с XLS ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Martisha
Дата 29.1.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 15.10.2008
Где: казань

Репутация: нет
Всего: 1



Цитата(Данкинг @  29.1.2009,  11:50 Найти цитируемый пост)
А что за Application.EnableEvents такой? Как именно и реально ли это ускоряет работу с XLS ? 

сама не очень поняла эту строчку, но раз уж так везде пишется решила не трогать
 smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.