Bu arada query fieldları:
1. query: 1 field
2. query: 2 field
3. query: 3 field
4. query: 2 field
5. query: 3 field
6. query: 4 field
Not: Tek querylik çalışmalarınızda aşağıdaki kodu kullanabilirsiniz.
Kod: Tümünü seç
uses Windows,Shellapi; // Eklemeyi unutmayın!
procedure excelhtmlaktarcoklu(sender:TObject;q:TADOQuery;key:string); // Uses kısmının altına eklemeyi unutmayın!
*********************************************************************************************************
procedure TDuKayitDurumForm.SpeedButton1Click(Sender: TObject);
ToplamQuery.Close;
ToplamQuery.SQL.Strings[3] := ''''+yil+'%'+'''';
ToplamQuery.Open;
excelhtmlaktarcoklu(Self,ToplamQuery,'X');
*************************************************************************************
procedure excelhtmlaktarcoklu(sender:TObject;q:TADOQuery;key:string);
var i:integer; a:boolean;
slist : TStringList;
h:HWND;
OfficeAraclari : string;
WebSayfasi : string;
begin
OfficeAraclari := 'excel.exe';
WebSayfasi := 'iexplore.exe';
key := Uppercase(key);
slist := TStringList.Create();
slist.Add('<Table border=1 cellpadding=2 cellspacing=0 style="font-family: Verdana; font-size: 10px;">');
slist.Add(' <tr bgcolor=navy style="color: white">');
for i := 0 to (q.FieldCount - 1) do
begin
if q.Fields[i].Visible then
begin
slist.Add(' <td><b>'+q.Fields[i].DisplayLabel+'</b></td>');
end;
end;
slist.Add(' </tr>');
if not q.Active then q.Open;
q.First;
while not q.Eof do
begin
slist.Add(' <tr>');
for i := 0 to q.FieldCount - 1 do
begin
if q.Fields[i].Visible then
begin
if (key = 'H') AND (q.Fields[i].Text = '') then
slist.Add(' <td> </td>')
else
slist.Add(' <td>' + q.Fields[i].Text + '</td>');
end;
end;
slist.Add(' </tr>');
q.Next;
end;
slist.Add('</Table></td></tr><table>');
if key = 'X' then
begin
slist.SaveToFile('C:\tablo1.xls');
ShellExecute(h,'open',PChar(OfficeAraclari),'C:\tablo1.xls',nil,sw_Shownormal); //'excel.exe'
end;
slist := nil;
end;