Excelde sıralama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sltokar
Üye
Mesajlar: 28
Kayıt: 28 Nis 2005 01:02

Excelde sıralama

Mesaj gönderen sltokar »

İyi günler aşağıdaki kodla excele dosya gönderiyorum.
Benim istediğim ise excele attığım bu bilgileri Drno sütununa göre sıralama yaptırmak.

procedure Tfrmmain.Excel1Click(Sender: TObject);
var
v,sayfa:variant;
i,d,k:integer;
r:variant;
begin
table1.First;
v:=createoleobject('excel.application');
v.workbooks.add;
sayfa:=v.workbooks[1].worksheets[1];
r:=v.activeworkbook.worksheets[1].cells[1];
k:=0;
repeat
r.cells[1,k+1]:=Table1.Fields[k].DisplayLabel;
k:=k+1;
until k=table1.Fields.Count;
i:=0;
d:=0;
while Not Table1.eof do
begin
i:=i+1;
d:=d+1;
r.cells[1+d,i]:=Table1.FieldByName('Drno').AsString;
r.cells[1+d,i+1]:=Table1.FieldByName('ad').AsString;
r.cells[1+d,i+2]:=Table1.FieldByName('Soyad').AsString;
r.cells[1+d,i+3]:=Table1.FieldByName('ogretmenad').AsString;
Table1.Next;
i:=0;

r.cells[1,1]:='Dershane No';
r.cells[1,2]:='Ad';
r.cells[1,3]:='Soyad';
r.cells[1,4]:='Öğretmen Adı';
r.columns[1].font.bold:=True;
r.columns[2].font.bold:=True;
r.columns[3].font.bold:=True;
r.columns[4].font.bold:=True;

end;
v.visible:=true;
end;
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Eğer Drno sütutnuna göre sıralama yapacaksan ya bunu excelde attıktansonra excelde yapa yada atmadan önce SQL le yap..aktaracağın kayıtları seç

Kod: Tümünü seç

order by sıralamaalanı asc
asc a-z ye dec z-a ya

kolay gelsin
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Mesaj gönderen ovural »

aslında Table yerine query Kullanırsan istedigin alana gore sıralama yaparsın .. ve aktarma isleminde o sıraya gore olur ..
ama illaki Table kullancam dersen ...

sıralama icin asagıdaki kodu kullanabilirsin ...

Kod: Tümünü seç

var a:Olevarint;
begin
....
sayfa.Columns['A:D'].Select; // Burada A ve G sutunlarını sectim ...
v.Selection.Sort(sayfa.Range['A1'],1,a,a,1,a,1,xlYes);
// xlYes Baslık varsa xlNo yoksa ..   1 ise artan 2 ise azalan .. .....
sltokar
Üye
Mesajlar: 28
Kayıt: 28 Nis 2005 01:02

Mesaj gönderen sltokar »

Yardımlarınız için sağolun
Cevapla