Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить результат запроса в таблицу 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
2-1208926830
net send
2008-04-23 09:00
2008.05.18
Передать звуковое сообщение


2-1208425578
VictoR407
2008-04-17 13:46
2008.05.18
Как удалить полосы прокрутки в компоненте treeview?


2-1208437042
Семен Кевларвестов
2008-04-17 16:57
2008.05.18
Как определить было TPopupMenu меню вызвано ShortCut или открыто.


15-1207018692
X9
2008-04-01 06:58
2008.05.18
Розыгрыши на 1 апреля


15-1207558304
GanibalLector
2008-04-07 12:51
2008.05.18
Subscribe.Ru (рассылка от Мастера DELPHI)





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