Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2015, 17:27   #1
Оля2394
Пользователь
 
Регистрация: 22.02.2015
Сообщений: 30
По умолчанию Данные из DBGrid в excel

Друзья программисты, подскажите как переделать, чтобы данные из DBGrid'а перенести в excel, в строчку, здесь переносится в столбик
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
XL, XArr: Variant;
 i: Integer;
 j: Integer;
begin
 myChart:=VarArrayCreate([2,ADOQuery1.FieldCount],varVariant);
 EIN:=CreateOLEObject('Excel.Application');
 EIN.Workbooks.Open(form1.Edit3.text);
 EIN.visible:=true;
 j := 1;
DBGrid1.DataSource.DataSet.First;
 while not ADOQuery1.Eof do
  begin
   i:=1;
   while i<=ADOQuery1.FieldCount do
    begin
     myChart[i] := ADOQuery1.Fields[i-1].Value;
     i := i+1;
    end;
   EIN.Range['A'+IntToStr(j),
   CHR(64+ADOQuery1.FieldCount)+IntToStr(j)].Value := myChart;
   ADOQuery1.Next;
   j:=j+1;
  end;

EIN.Range['A1',CHR(64+ADOQuery1.FieldCount)+IntToStr(j)].select;

 EIN.Selection.Font.Name:='Arial cur';
 EIN.Selection.Font.Size:=10;
 EIN.selection.Columns.AutoFit;
 EIN.Range['A1','A1'].select;
          end;
Оля2394 вне форума Ответить с цитированием
Старый 04.03.2015, 18:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
здесь переносится в столбик
Как так? Скрин с доказательствами в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.03.2015, 13:16   #3
water_
Пользователь
 
Регистрация: 01.11.2013
Сообщений: 34
По умолчанию

если я правильно понял что ты хочешь, то...
Код:
var
  Ex: Variant;
  n: integer;
begin
  try
    n:= 1;
    Ex := CreateOleObject('Excel.Application');
    Ex.Workbooks.Add;
    OpenDialog1.Execute;
    Ex.Workbooks.Open(OpenDialog1.FileName);
    Ex.Visible := True;
    if not ADOQuery1.Active then ADOQuery1.Open;
    if ADOQuery1.RecordCount > 0 then begin
      ADOQuery1.First;
      while not ADOQuery1.Eof do begin
        Ex.Cells[1,n]:= ADOQuery1.FieldByName('value').AsInteger;
        Ex.Cells[2,n]:= ADOQuery1.FieldByName('description').AsString;
        inc(n);
        ADOQuery1.Next;
      end;
    end;
  finally
    ADOQuery1.Close;
    Ex.quit;
  end;
water_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести данные в новую книгу Excel из другой книги Excel через VBA Алла94 Microsoft Office Excel 0 08.10.2014 16:16
Excel - экспорт выбранной ячейки из DBGrid в Excel. wymkent Помощь студентам 0 16.05.2012 02:10
данные dbgrid Cas01 Общие вопросы Delphi 2 16.05.2012 01:41
Обновить данные в DBGRID sl963 БД в Delphi 7 04.06.2010 18:06
Как вытащить данные из Excel в бд dephi, а потом (после работы с данными) сформировать новый файл excel. Геля БД в Delphi 1 10.04.2007 15:11