Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача сразу нескольких строк, из dbGrid 
V
    Опции темы
FlaGmaN
Дата 4.7.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Народ помогите

для передачи выделенной строки за  dbGrid в excel я делал так
Код

var
XL,Sheet: Variant;
i: integer;
begin

XL:= CreateOleObject('Excel.Application');
XL.WorkBooks.Add;
Sheet:= XL.ActiveWorkBook.Sheets[1];
Sheet.PageSetup.Orientation:= 2; //===Eie?iay i?eaioaoey===
Sheet.Name:= 'Лист 1';

Sheet.Columns[1].ColumnWidth:= 15;
Sheet.Columns[2].ColumnWidth:= 45;
Sheet.Columns[3].ColumnWidth:= 25;
Sheet.Columns[4].ColumnWidth:= 6.27;
Sheet.Columns[5].ColumnWidth:= 6.27
;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].WrapText:= true;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Font.FontStyle:= 'Полужирный';
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Merge(false);
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]]:= 'Результаты';
Sheet.Cells[3,1]:= 'Фамилия';
Sheet.Cells[3,2]:= 'Имя';
Sheet.Cells[3,3]:= 'Отчество';
Sheet.Cells[3,4]:= 'Год рождения';
Sheet.Cells[3,5]:= 'Улица';
Sheet.Cells[3,6]:= 'дом';
Sheet.Cells[3,7]:= 'Корпус';
Sheet.Cells[3,5]:= 'Квартира';

i:= 4;
//ADOQuery1.First;

      begin
      Sheet.Cells[i,1]:= ADOQuery1.Fields[0].Asstring;
      Sheet.Cells[i,2]:= ADOQuery1.Fields[1].AsString;
      Sheet.Cells[i,3]:= ADOQuery1.Fields[2].AsString;
      Sheet.Cells[i,4]:= ADOQuery1.Fields[3].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[4].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[5].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[6].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[7].AsString;
      inc(i);
      ADOQuery1.Next;
      end;
XL.Visible:= true;
Sheet:= UnAssigned;
XL:= UnAssigned;


теперь у грида включена функция мульти селект. Выбирая сразу несколько строк как надо поменять код. а то я чего то дадуматься не могу smile 
PM MAIL WWW ICQ   Вверх
Vas
Дата 5.7.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 23
Всего: 28



Код

var
XL,Sheet: Variant;
i: integer;
SavePlace:TBookmark;
begin
XL:= CreateOleObject('Excel.Application');
XL.WorkBooks.Add;
Sheet:= XL.ActiveWorkBook.Sheets[1];
Sheet.PageSetup.Orientation:= 2; //===Eie?iay i?eaioaoey===
Sheet.Name:= 'Лист 1';
Sheet.Columns[1].ColumnWidth:= 15;
Sheet.Columns[2].ColumnWidth:= 45;
Sheet.Columns[3].ColumnWidth:= 25;
Sheet.Columns[4].ColumnWidth:= 6.27;
Sheet.Columns[5].ColumnWidth:= 6.27;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].WrapText:= true;
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Font.FontStyle:= 'Полужирный';
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Merge(false);
Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]]:= 'Результаты';
Sheet.Cells[3,1]:= 'Фамилия';
Sheet.Cells[3,2]:= 'Имя';
Sheet.Cells[3,3]:= 'Отчество';
Sheet.Cells[3,4]:= 'Год рождения';
Sheet.Cells[3,5]:= 'Улица';
Sheet.Cells[3,6]:= 'дом';
Sheet.Cells[3,7]:= 'Корпус';
Sheet.Cells[3,5]:= 'Квартира';
i:= 4;
for j:=0 to DBGrid1.SelectedRows.Count-1 do
     begin
      ADOQuery1.GotoBookmark(pointer(DBGrid1.SelectedRows.Items[j]));
      Sheet.Cells[i,1]:= ADOQuery1.Fields[0].Asstring;
      Sheet.Cells[i,2]:= ADOQuery1.Fields[1].AsString;
      Sheet.Cells[i,3]:= ADOQuery1.Fields[2].AsString;
      Sheet.Cells[i,4]:= ADOQuery1.Fields[3].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[4].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[5].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[6].AsString;
      Sheet.Cells[i,5]:= ADOQuery1.Fields[7].AsString;
      inc(i);
      end;
ADOQuery1.FreeBookmark(SavePlace);
XL.Visible:= true;
Sheet:= UnAssigned;
XL:= UnAssigned;



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
FlaGmaN
Дата 5.7.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо помогло

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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