Delphi Excel veri aktarım.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Delphi Excel veri aktarım.
Örnek ;
Table1 de 10 kayıt var. Excel aktarırken tek Excel dosyasına 10 ayrı sayfa eklesin.
Yani her satırı ayrı ayrı sayfalar oluşturarak yazsın.
Kod Detay ;
qBsBs tablosundaki veriler için her bir satır için excel bir sayfa eklemek istiyorum.
sayfa:=v.workbooks[1].worksheets[1];
Kısmını nasıl düzenleye bilirim.
Fikri ve desteği olanlara çok minnettar kalacam.
------
procedure TForm1.Button2Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
for i:=4 to say do
begin
qBsBs.first;
sayfa:=v.workbooks[1].worksheets[1];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Table1 de 10 kayıt var. Excel aktarırken tek Excel dosyasına 10 ayrı sayfa eklesin.
Yani her satırı ayrı ayrı sayfalar oluşturarak yazsın.
Kod Detay ;
qBsBs tablosundaki veriler için her bir satır için excel bir sayfa eklemek istiyorum.
sayfa:=v.workbooks[1].worksheets[1];
Kısmını nasıl düzenleye bilirim.
Fikri ve desteği olanlara çok minnettar kalacam.
------
procedure TForm1.Button2Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
for i:=4 to say do
begin
qBsBs.first;
sayfa:=v.workbooks[1].worksheets[1];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Re: Delphi Excel veri aktarım.
sayfa:=v.workbooks[1].worksheets[i-3];
yeterli.
yalnız excel 10 sayfalı açılmalı, açılmaz ise ayrıca sayfada eklemen lazım
yeterli.
yalnız excel 10 sayfalı açılmalı, açılmaz ise ayrıca sayfada eklemen lazım
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
Öncelikle TŞK.
Tüm sayfalara ilk kaydı aktarıyor.
Benim istediğim ;
1.Sayfaya 1. kayıt , 2.Sayfaya 2. kayıt
Tüm sayfalara ilk kaydı aktarıyor.
Benim istediğim ;
1.Sayfaya 1. kayıt , 2.Sayfaya 2. kayıt
Re: Delphi Excel veri aktarım.
Ok. istediğim gibi yaptım Sağol.
Excel ilk açarken Kayıt sayısı kadar sayfa nasıl açtırırız.
procedure TForm1.Button3Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets[i-3];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Excel ilk açarken Kayıt sayısı kadar sayfa nasıl açtırırız.
procedure TForm1.Button3Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets[i-3];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Re: Delphi Excel veri aktarım.
her döngünün başına eklemelisiniz.
sayfa:=v.workbooks[1].worksheets.add;
sayfa:=v.workbooks[1].worksheets.add;
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
'C:\Sablon.xls' bir yol tanımlayıp katarımların bu sayfaya olması için bu kodu nasıl değiştirmeliyim.
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets[i-3];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Şimdiden Allah Razı olsun.Sağol.
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets[i-3];
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Şimdiden Allah Razı olsun.Sağol.
Re: Delphi Excel veri aktarım.
Sitede excel ile ilgili bir çok örnek var arasınız daha hızlı cevap alırsınız.
Kod: Tümünü seç
v.Workbooks.Open('C:\Sablon.xls');
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
Tşk. Allah razı olsun.
Re: Delphi Excel veri aktarım.
bu konuda son soru.
"sayfa.cells[3,1]:=Image1. ..."
Gibi Image1 içindeki resmi Excel istenilen alana aktarıla bilir mi ?
Sitede aradım bu şekilde uygulama bulamadım.
Yardımınız ile yazdığım kodun son hali;
procedure TForm1.Button3Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
v.Workbooks.Open('C:\Sablon.xls');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets.add;
sayfa.Name:= qBsBsCariKod.Text;
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
"sayfa.cells[3,1]:=Image1. ..."
Gibi Image1 içindeki resmi Excel istenilen alana aktarıla bilir mi ?
Sitede aradım bu şekilde uygulama bulamadım.
Yardımınız ile yazdığım kodun son hali;
procedure TForm1.Button3Click(Sender: TObject);
VAR
Toplam : real;
v,sayfa:variant;
say,i:integer;
begin
v:=CreateOleObject('excel.application');
v.Workbooks.Open('C:\Sablon.xls');
say:=qBsBs.recordcount;
v.workbooks.add;
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.workbooks[1].worksheets.add;
sayfa.Name:= qBsBsCariKod.Text;
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
qBsBs.Next;
end;
v.visible:=true;
end;
Re: Delphi Excel veri aktarım.
Tam emin değilim.
veya
Kod: Tümünü seç
v.workbooks.Pictures.Insert('c:\resim.jpg')
Kod: Tümünü seç
v.workbooks.ActiveSheet.Pictures.Insert('c:\resim.jpg');
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
sayfa kopyalamak için.
Kod: Tümünü seç
Bfrtmp: Variant;
Kod: Tümünü seç
v.Workbooks.Open('c:\sablon.xls');
Bfrtmp := v.WorkSheets[v.sheets.count];
v.worksheets[1].Copy(,Bfrtmp) ; //1 numarı sayfayı sona kopyala
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
Öncelikle çok teşekkür.
Evet Sablon.xls copyalıyor. Fakat Sablon copyası, veri yazdığım sayfa ayrı ayrı oluşuyor.
Bir türlü Copyaladığım sayfaya ile veri yazdığım sayfayı birleştiremedim.
Yapmak istediğim Copya ile oluşan sayfaya veri tabanından bilgi yazarak bir döngü kurmak istiyorum.
Sana zahmet aşağıdaki kodu incelermisin nerde hata yaptım acaba.
Evet Sablon.xls copyalıyor. Fakat Sablon copyası, veri yazdığım sayfa ayrı ayrı oluşuyor.
Bir türlü Copyaladığım sayfaya ile veri yazdığım sayfayı birleştiremedim.
Yapmak istediğim Copya ile oluşan sayfaya veri tabanından bilgi yazarak bir döngü kurmak istiyorum.
Sana zahmet aşağıdaki kodu incelermisin nerde hata yaptım acaba.
v:=CreateOleObject('excel.application');
say:=qBsBs.recordcount;
//v.workbooks.add;
v.Workbooks.Open(GetCurrentDir+'\Sablon.xls');
Bfrtmp := v.WorkSheets[v.sheets.count];
v.worksheets[1].Copy(,Bfrtmp);
qBsBs.first;
for i:=4 to say do
begin
sayfa:=v.worksheets[1].Copy(,Bfrtmp);
//sayfa:=v.workbooks[1].worksheets.Copy(,Bfrtmp);
//sayfa:=v.workbooks[1].worksheets.add;
sayfa.Name:= qBsBsCariKod.Text;
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text;
sayfa.cells[4,4]:=qBsBsKDVHariTutar.Text;
qBsBs.Next;
end;
Re: Delphi Excel veri aktarım.
Kod: Tümünü seç
for i:=4 to say do
begin
Bfrtmp := v.WorkSheets[v.sheets.count];
v.worksheets[1].Copy(,Bfrtmp);// şablon sayfanın numarısı 1 olmalı
sayfa:= v.worksheets[i];//şablon sayfa değişkenine atanıyor
sayfa.Name:= qBsBsCariKod.Text;// sayfa ismi
sayfa.cells[3,4]:=qBsBsCariHesapnvan.Text; //3.satır 4.sütun
sayfa.cells[4,4]:=qBsBsKDVHariTutar.Text; //4.satır 4.sütun
qBsBs.Next; //sonraki veri
end;
v.visible:=true;
Bir kelimenin anlamını öğretsen bile yeter..



Re: Delphi Excel veri aktarım.
sayfa:= v.worksheets;
kısmında hata veriyo. Bende aynı hataya takılmıştım.
Bu yüzden acaba sıralamada hata mı var demiştim
kısmında hata veriyo. Bende aynı hataya takılmıştım.
diyor ve excel aktarmıyor."Geçersiz dizin" diyor
Bu yüzden acaba sıralamada hata mı var demiştim