Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Как сохранить результат запроса в таблицу Excel?   Найти похожие ветки 

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

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

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;
но, не сохраняется в файл. При этом вылазеет окно сохранить или нет... и всё равно не сохраняется когда тыкаю ДАА!!!-СОХРАНИ МНЕ ПОЖАЛУЙСТААА!!! ,-))). Может способ какой другой есть или я правильно всё делаю?


 
engine ©   (2007-12-07 20:35) [1]

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


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

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


 
engine ©   (2007-12-07 20:49) [3]

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

uses ComObj;
&#133
var
 App,
 WorkBook : Variant;

&#133

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

&#133

WorkBook.SaveAs("temp.xls");


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


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

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


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

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


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

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


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
15-1207283142
Slider007
2008-04-04 08:25
2008.05.18
С днем рождения ! 4 апреля 2008 пятница


2-1208521330
Динис_ИС
2008-04-18 16:22
2008.05.18
Как зашарить папку ?


2-1208603961
lewka-serdceed
2008-04-19 15:19
2008.05.18
как убрать крестик, которым закрывается форма.


2-1208611624
Алексей К.
2008-04-19 17:27
2008.05.18
получение имен в TStringList


15-1207559622
Kostafey
2008-04-07 13:13
2008.05.18
Я вернулся