Belli bir formatta excel dosyam var. Şöyle;
Stok kodu Stok Adı Miktar
------------ ---------- -------
............... ............ .........
Şeklinde. Bu bilgileri StringGride almakla ilgili bir fikri olan veya uygulama yapan varmı acaba?
Excel'den bilgi alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 43
- Kayıt: 19 Haz 2003 12:26
merhaba;
ben excel e bilgi yollamak istedğimde böyle yolluyorum.
zannedersem bunun tersi sizin işinizi görebilir.
****************************************************
ben excel e bilgi yollamak istedğimde böyle yolluyorum.
zannedersem bunun tersi sizin işinizi görebilir.
****************************************************
Kod: Tümünü seç
procedure TForm6.Button3Click(Sender: TObject);
var
book,excel,sheet:variant;
i:integer;
begin
i:=1;
try
excel:=createoleobject('excel.application');
book:=excel.workbooks.add;
excel.visible:=true;
sheet:=book.worksheets[1];
except
raise exception.Create('Excel Açılamadı..');
end;
query1.First;
while not query1.Eof do
begin
sheet.cells[i,1]:=query1.FieldByName('ad').asstring;
sheet.cells[i,2]:=query1.FieldByName('soyad').AsString;
sheet.cells[i,3]:=query1.FieldByName('miktar').AsCurrency;
sheet.cells[i,4]:=query1.FieldByName('tur').AsString;
sheet.cells[i,5]:=query1.FieldByName('tarih').AsString;
sheet.cells[i,6]:=query1.FieldByName('makbuzno').AsString;
i:=i+1;
query1.Next;
end;
******************************
teşekkürler
sağlıcakla kalın
sağlıcakla kalın
- ayhanarican
- Üye
- Mesajlar: 37
- Kayıt: 03 Tem 2003 01:24
- Konum: İzmir
- İletişim:
Bunu açıklamak için önce Excel Makrolarından bahsetmeliyim.
1-) Bilgilerinizin bulunduğu Excel dosyasının "Stok.xls" olduğunu farzedelim
2-) Excel 'in Araçlar menüsünden "Makro/Yeni Makro kaydet" seçin
3-) bir isim verin (örnek : ExportData)
4-) Sayfada herhangi bir hücreyi tıklayın ve birşeyler yazın
5-) Excel 'in Araçlar menüsünden "Makro/Makrolar" seçin
6-) "ExportData" yada siz ne olarak kaydettiyseniz Seçin "Düzenle" deyin
7-) Görüyorsunuz sizin yazdığınız yazıları koda dönüştürmüş
Bu kodları silin ve şunları yazın
Open "C:\Stok.csv" For Output As #1
S=3; ' dataların başladığı satır numarası
N=5; ' dataların sonlandığı satır numarası
For I=S To N
StokKod$=Cells(I,1)
StokAd$=Cells(I,2)
Print #1,StokKod$+";"+StokAd$
Next
Close #1
Bu Kod çalıştığında "Stok.csv" isimli "C:\" rootunda bir dosya oluşturur.
9-) Bu Dosyayı Excel tanır ve açar
10-) Fakat bizim istediğimiz bu değil ,dosyayı delphiden kullanmak.Bunun için bu csv dosyasını StringGrid içine alan kodu yazmakta artık sana kalıyor.
11-) Aslında Veriler Zaten bir csv dosyasında olsaydı bu kadar işleme hiç gerek kalmayacak dosyayı direk kullanacaktık.
1-) Bilgilerinizin bulunduğu Excel dosyasının "Stok.xls" olduğunu farzedelim
2-) Excel 'in Araçlar menüsünden "Makro/Yeni Makro kaydet" seçin
3-) bir isim verin (örnek : ExportData)
4-) Sayfada herhangi bir hücreyi tıklayın ve birşeyler yazın
5-) Excel 'in Araçlar menüsünden "Makro/Makrolar" seçin
6-) "ExportData" yada siz ne olarak kaydettiyseniz Seçin "Düzenle" deyin
7-) Görüyorsunuz sizin yazdığınız yazıları koda dönüştürmüş

Open "C:\Stok.csv" For Output As #1
S=3; ' dataların başladığı satır numarası
N=5; ' dataların sonlandığı satır numarası
For I=S To N
StokKod$=Cells(I,1)
StokAd$=Cells(I,2)
Print #1,StokKod$+";"+StokAd$
Next
Close #1

9-) Bu Dosyayı Excel tanır ve açar
10-) Fakat bizim istediğimiz bu değil ,dosyayı delphiden kullanmak.Bunun için bu csv dosyasını StringGrid içine alan kodu yazmakta artık sana kalıyor.
11-) Aslında Veriler Zaten bir csv dosyasında olsaydı bu kadar işleme hiç gerek kalmayacak dosyayı direk kullanacaktık.

Olay belki sizin açınızdan kapanmıştır fakat ben daha sonraki sorular için bir şeyler yazmak istedim. Eğer bir sefere mahsus bu işlemi yapacaksanız verileri her birini ayrı kolona göre ayarladıktan sonra (Zaten kolonlar farklı ise problem değil, fakat aynı ise ortak ayraca göre dönüşüm yaparsınız) DBaseIV dosyası olarak kaydedin. Ardından Delphi de basit bir table ile bu dbf dosyasını alarak istediğiniz her türlü takla vb. spor dallarını yaptırabilirsiniz.
Kolay gelsin
Kolay gelsin