Examples Delphi

"
15 Aralık 2005 13:25
Excelle Delpiden Erişen Arkadaşlara Uzmanlık Sorusu
Kodbanktan veya başka kaynaklardan excele veri aktarmayla
ilgili bir çok kaynak var. ama benim yapmak istediğim
şey daha basit ama bir türlü yapamadım.
sorun şu:
opendialog ile bir excell dosyası alıyorum.
bunun içindeki sayfaların (sheet) listesini almak isitiyorum
kaçtane sayfa varsa sadece adlarını nasıl alabilirim.
ilgilenen herkese teşekkürler.
hurtik
"
cevap:
öncelikle sorduğunuz güzel soru için teşekkür ederim,
lütfen sorunuza asla "basit" anlamı kullanmayınız....
sorduğunuz soru "bilgiye dayalı" bir sorudur.
kodu yazıyorum:
(sormuş olduğunuz soruya basit dediğiniz için
daha fazla aklıma gelen kod ilavelerini yazmayacağım)
forma 1 adet button 1 adet memo1 yerleştirin:
//...written by neoturk 16.12.2005
procedure excel_sayfalarini_goster(dosyaadi:string;xmemo:Tmemo);
var a:variant;m:integer;
begin
xmemo.Clear;
xmemo.Lines.add('Dosya adı='+dosyaadi);
a:=CreateOleObject('Excel.Application');
if fileexists(dosyaadi)=false then
begin
xmemo.Lines.add('dosya bulunamadı');
exit;
end;
a.workbooks.open(dosyaadi);
a.visible := false;
xmemo.lines.add('Sayfa sayısı = '+inttostr(a.sheets.count));
for m:=1 to a.sheets.count do xmemo.lines.add(a.workbooks[1].worksheets[m].Name);
a.workbooks.close;
//final
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//deneme.xls dosyasının sayfalarının isimlerini memo1 içine göster
excel_sayfalarini_goster('c:\deneme.xls',memo1);
end;
kolay gelsin........
saygılarımla_
neoturk_