Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить результат запроса в таблицу Excel? [D6, Paradox]


Катунов Юрий ©   (2007-12-07 20:17:00) 

Здравствуйте.
Есть запрос

procedure TForm1.Button3Click(Sender: TObject);
label xx;
var
i :Integer;
s :String;
begin
 y := DateToStr (DateTimePicker1.Date  );

 zz :=StrToDate (y);
 Query1.Active :=false;
 Query1.SQL.Clear;
 Query1.SQL.Add('SELECT *');
 Query1.SQL.Add('FROM db1');
 Query1.SQL.Add('WHERE Data = :X ');
 Query1.ParamByName('X').AsDate:=zz;
 Query1.SQL.Add('ORDER BY Number DESC');

 DataSource2.DataSet :=Query1;
 Query1.DatabaseName :='Страж';
 Query1.Active :=true;

With TStringList.Create Do
begin   Add ('ОТЧЁТ ЗА '+ DateToStr (zz));
        Add ('Дата'+'               '+'Время'+'             '+'Номер машины'+'       '+'Состояние'  );
try
while not Query1.Eof Do
 begin
  s:='';
      for i:=0 to Query1.Fields.Count-1 do s:=s+Query1.Fields[i].AsString+#9;
  SetLength(s,Length(s)-1);
  Add(s);
  Query1.Next;
 End;
 SaveToFile(CurrentDir +'\sqlresult.xls');
finally
free;

end;
end;
end;
Запрос сохраняется как текстовый файл. Как можно сохранить в виде, удобном для дальнейшей обработкой Excel?

Тут у меня есть задумка делать так:
procedure TForm1.Button1Click(Sender: TObject);
var
n : OleVariant;
begin
n :='e:\sqlresult.xls'';
ExcelApplication1.Workbooks.Add(n, 0);
ExcelWorkBook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelApplication1.Cells.Item[1,1].Value :='Данные';
ExcelWorkBook1.Save;
ExcelWorkBook1.Close;
end;
но, не сохраняется в файл. При этом вылазеет окно сохранить или нет... и всё равно не сохраняется когда тыкаю ДАА!!!-СОХРАНИ МНЕ ПОЖАЛУЙСТААА!!! ,-))). Может способ какой другой есть или я правильно всё делаю?


Катунов Юрий   (2007-12-09 13:44:00) [1]

Удалено модератором


Хохрин Павел   (2007-12-09 13:35:00) [2]

Удалено модератором


Хохрин Павел   (2007-12-09 13:35:00) [3]

Удалено модератором


Катунов Юрий   (2007-12-09 13:33:00) [4]

Удалено модератором


Хохрин Павел   (2007-12-09 11:38:00) [5]

Удалено модератором


Катунов Юрий   (2007-12-09 07:00:00) [6]

Ага... Чётко... Всё получилось... Спасибо engine


engine   (2007-12-07 20:49:00) [7]

Вот тебе вариант:

uses ComObj;
…
var
 App,
 WorkBook : Variant;

…

App := CreateOLEObject('excel.application');
WorkBook := FApp.WorkBooks.Add( AFile);

…

WorkBook.SaveAs('temp.xls');


Должно работать.


Катунов Юрий   (2007-12-07 20:42:00) [8]

Это нет....... это не переменные. Это стандартные компоненты с вкладки Servers.......


engine   (2007-12-07 20:35:00) [9]

А где объявление переменных
ExcelApplication1
ExcelWorkBook1


Наверх

Титульная страница Поиск, карта сайта Написать письмо