Главная страница
    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.46 MB
Время: 0.045 c
3-1197295966
Kolan
2007-12-10 17:12
2008.05.18
TADOCommand не нравится GO, почему?


15-1207417988
No_Dead
2008-04-05 21:53
2008.05.18
Мне страшно%> комп живет своей жизнью


2-1208428138
arinyshka
2008-04-17 14:28
2008.05.18
Забдокировать изменение RadioGroup


15-1207301611
Zoldberger
2008-04-04 13:33
2008.05.18
IdHTTP и ADO


3-1197115789
Gunek
2007-12-08 15:09
2008.05.18
Ошибка при использовании dbchart





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский