Главная страница
    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.049 c
2-1208786099
Int23
2008-04-21 17:54
2008.05.18
Нужна функция рекурсивного каталога и всех вложенных в него


4-1188896231
celerons
2007-09-04 12:57
2008.05.18
RAS WIN API Флаги при создании VPn


6-1186665472
r.o.o.t
2007-08-09 17:17
2008.05.18
Как правельно обрабоать обрыв свзяи в TServerSocket


15-1207111990
nnn
2008-04-02 08:53
2008.05.18
CMS


2-1208291529
Res
2008-04-16 00:32
2008.05.18
mx запись





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский