Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)  (Okunma sayısı 6270 defa)

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Öncelikle http://sourceforge.net/projects/tpofficepartner/  adresinden Office Partner Componentini indirip Kurun.Kullanımı Ücretsiz Bir Component. Kurduuktan Sonra Component Palette OfficePartner sekmesiyle yerini alacaktır. Bu bileşenleri kullanartak kolaylıkla Word ve Excel'e veri aktarabiliriz.

Tabloyu Word'e Gönderme
Bildiğiniz Şekilde Veritabanı Bağlantınızı Yapın. Component Palette OfficePartner sekmesinde bir Opword birde OpDataSetModel Bileşeni Varsayılan adlarıyla bırakıyorum.

Tablomu Worde aktaracak bileşenimin adı ibquery1. sizinki table1,query1,adoquery1 vb. olabilir.

Opword ve OpdatasetModel bileşenlerinin özellikleriyle  oynamanıza gerek yok Herşeyi Kodla Halledeceğiz. Öncelikle Aşağıdaki Değişkeni Tanımlayın.
Kod: [Seç]
var
Form1: TForm1;
MergeDoc: TOpWordDocument; //Değişkenimiz.
Daha Sonra Uygulamamız Kapatıldığında Wordle Bağlantımızı Kesildiğini Garantilemek için Formun OnClose Olayına Aşağıdaki Kodu Yazın
Kod: [Seç]
if Assigned(MergeDoc) then //Word Daha Önce Açılmışsa
MergeDoc.Free; //Word'ü Kapat
if OpWord1.Connected=true then //Word'e Bağlıysa
OpWord1.Connected:=false; //Bağlantıyı Kes
 
Aşağıdaki Kodda Verileri Word'e gödermemizi sağlıyor. Ben Buttonun OnClick Olayına Yazdım.
Kod: [Seç]
procedure TForm1.Button1Click(Sender: TObject);
begin
//Worde Aktaracağımız Tabloyu OpDataSetModel Bileşeninin
//Dataset özelliğine Aktarıyoruz
OpDataSetModel1.Dataset:=IBQuery1;
if Assigned(MergeDoc) then //Word Daha Önce Açılmışsa
MergeDoc.Free; //Word'ü Kapat
if OpWord1.Connected=true then //Word'e Bağlıysa
OpWord1.Connected:=false; //Bağlantıyı Kes
ibquery1.Active:=true; //Tabloyu Aç
OpWord1.Connected := True; //Word'e Bağlan
OpWord1.DisplayScrollBars:=true; //Word'de Kaydırma Çubukları Görünsün
OpWord1.Visible := False; //Word'ü Gizle
MergeDoc := OpWord1.NewDocument; //Yeni Word Belgesi Aç
OpWord1.Visible := True; //Word'ü Göster
Opword1.WindowState:=wdwsMaximized; //Word'ü Tam Ekran Olarak Göster
//Tabloyu Word'e Aktar
with OpWord1.Documents[0].Tables.Add do
begin
OfficeModel :=OpDatasetModel1;
PopulateDocTable;
end;
ibquery1.Active:=false; //Tabloyu Aç
end;

Tabloyu  Excel'e Gönderme
Bildiğiniz Şekilde Veritabanı Bağlantınızı Yapın. Component Palette OfficePartner sekmesinde bir OpExcel birde OpDataSetModel Bileşeni Varsayılan adlarıyla bırakıyorum.
Tablomu Excel'e aktaracak bileşenimin adı ibquery1. sizinki table1,query1,adoquery1 vb. olabilir.
OpExcel ve OpdatasetModel bileşenlerinin özellikleriyle  oynamanıza gerek yok Herşeyi Kodla Halledeceğiz. Öncelikle Aşağıdaki Değişkeni Tanımlayın.
Kod: [Seç]
var
Form1: TForm1;
NewBook:TopExcelWorkBook;
Aşağıdaki Kodu OpExcel Bileşeninin BeforeWorkBookClose Olayınada yazın.
 
Kod: [Seç]
if Assigned(NewBook:) then //Excel Daha Önce Açılmışsa
NewBook:.Free; ///Excel'i Kapat
if OpExcel1.Connected=true then //Excel 'e Bağlıysa
OpExcel1.Connected:=false; //Bağlantıyı Kes
 
Daha Sonra Uygulamamız Kapatıldığında Excelle Bağlantımızı Kesildiğini Garantilemek için Formun OnClose Olayına Aşağıdaki Kodu Yazın.
Kod: [Seç]
if OpExcel1.Connected=true then //Excel 'e Bağlıysa
OpExcel1.Connected:=false; //Bağlantıyı Kes
 
Aşağıdaki Kodda Verileri Excel 'e gödermemizi sağlıyor. Ben Buttonun OnClick Olayına Yazdım.
 
Kod: [Seç]
procedure TForm1.Button1Click(Sender: TObject);
var
Rng : TOpExcelRange;
begin
OpExcel1.Connected := True; //Excel'e Bağlan
OpExcel1.Visible := True; //Excel'i Göster
OpExcel1.WindowState:=xlwsMaximized; //Excel'i Tam Ekran Olarak Göster
IBQuery1.Active:=true; //Tabloyu Aç
NewBook:=OpExcel1.Workbooks.Add; //Yeni Excel Belgesi Aç ü
//Ayarları Yap
Rng := OpExcel1.Workbooks[0].Worksheets[0].Ranges.Add;
Rng.Name := 'www.delphidunyasi.com'; //Keyfinize Göre Bir isim Verin
Rng.Address := 'A1';
Rng.OfficeModel :=OpDataSetModel1; //Kaynak OpDataSetModel Bileşeni
//Excele Aktaracağımız Tabloyu OpDataSetModel Bileşeninin
//Dataset özelliğine Aktarıyoruz
OpDataSetModel1.Dataset :=IBQuery1;
OpExcel1.RangeByName['www.delphidunyasi.com'].Populate; //Tabloyu Aktar
OpExcel1.Workbooks[0].Worksheets[0].Activate; //Exceli Aktif Pencere yap
Rng.AsRange.Columns.AutoFit; //Kolon Genişlikleri Otomatik
IBQuery1.Active:=false; //Tabloyu Kapat
end;


Not : Alan Adlarını Field Editorden DisplayFormat  Özelliği ile istediğiniz gibi değiştirebilirsiniz. örneğin alan adı DOGUM_TARIHI ise  alanın DisPlayFormat özelliğine Doğum Tarihi Yazarsanız alan adı DisPlayFormat özelliğinde olduğu gibi görünür
« Son Düzenleme: 28 Ocak 2006 11:50:39 by Fatih »
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı Mikdad

  • Kıdemli Üye
  • *****
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #1 : 09 Kasım 2005 15:24:21 »
Hocam allah razı olsun bunlar çok işime yarıyacak componenti de indirdim. ama benim şöyle bir sorunum var bir excell formatında bir dosyam var için de 2000 kayıt var ve ben bunları acceste yaptımı mdb uzantılı db ya atmak istiyorum nasıl yapabilirim
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı Mikdad

  • Kıdemli Üye
  • *****
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #2 : 10 Kasım 2005 17:28:55 »
Hocam Teşşekkür ederim Kopyala Yapıştırla Hallettim
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #3 : 10 Kasım 2005 17:29:58 »
Hocam Te? ederim Kopyala Yap?a Hallettim
rica erderim :))
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı erasersoft

  • Yeni Üye
  • *
  • İleti: 12
  • Rep: +0/-0
    • http://www.forumalemi.gen.tr.tc
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #4 : 28 Kasım 2005 00:48:45 »
çok sağolasın hocam ama bizde birşeyler eklemek isteriz.
Şakağımdaki kansa, o benim gülüşümdür,Namert sürünmektense, erkekçe ölüşümdür...

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #5 : 28 Kasım 2005 09:17:56 »
çok sağolasın hocam ama bizde birşeyler eklemek isteriz.

rica ederim.eklersen memnun olurum :_i
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı memet

  • Kıdemli Üye
  • *****
  • İleti: 53
  • Rep: +0/-0
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #6 : 28 Aralık 2006 16:37:40 »
merhaba,
office partneri internetten idirdim ama kuramadım.yardımcı olurmusunuz.indirdiğim dosyada sourca, example, delphi,vbuilder,test,bin gibi klasörler var.Ama bin,test gibi bazı klasörler boş...
saygılar

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #7 : 28 Aralık 2006 17:21:49 »
merhaba,
office partneri internetten idirdim ama kuramadım.yardımcı olurmusunuz.indirdiğim dosyada sourca, example, delphi,vbuilder,test,bin gibi klasörler var.Ama bin,test gibi bazı klasörler boş...
saygılar
http://www.delphiturkiye.com/index.php?page=tpos.htm#Kurulum
http://www.delphidunyasi.net/index.php?topic=792.0
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı memet

  • Kıdemli Üye
  • *****
  • İleti: 53
  • Rep: +0/-0
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #8 : 29 Aralık 2006 08:37:43 »
teşekkür ederim.Kurban Bayramınızı tebrik eder, sağlıklı ve mutlu bir geleceğin sizinle olmasını dilerim.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #9 : 31 Aralık 2006 16:10:03 »
teşekkür ederim.Kurban Bayramınızı tebrik eder, sağlıklı ve mutlu bir geleceğin sizinle olmasını dilerim.
teşekkür ederim. ben de cümlemiz için diliyorum
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı zamane

  • Üye
  • ***
  • İleti: 23
  • Rep: +0/-0
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #10 : 25 Kasım 2009 10:57:56 »
Çok tesekkürler paylasım için...

Çevrimdışı karakas

  • Yeni Üye
  • *
  • İleti: 6
  • Rep: +0/-0
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #11 : 12 Ocak 2010 14:19:39 »
Fatih abi sormak istediğim belkide basit bir konudur aradım ama bulamadım yardımlarını bekliyorum benim word hazırlanmış standart formlarım var bu formlarda başlıkları değiştirip yeniden kaydediyorum ben OpWord1 kompenantı ile istediğim satıra ve sütuna nasıl yazı yazdırabilirim.

Çevrimdışı duman801

  • Kıdemli Üye
  • *****
  • İleti: 123
  • Rep: +0/-0
  • Cinsiyet: Bay
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #12 : 14 Şubat 2010 19:48:40 »
bu componenti delphi 2010 a nasıl yüklerim..

Çevrimdışı yalo07

  • Yeni Üye
  • *
  • İleti: 15
  • Rep: +0/-0
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #13 : 27 Kasım 2010 00:39:23 »
fatih hoca bilgiler için saol faydalı oldu.ama benim sorunum programı kapattığımda excel ve wordde kapanıyor ben bağımsız şekilde açık kalmasını istiyorum?

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 769
  • Rep: +13/-0
  • Cinsiyet: Bay
Ynt: Tabloyu Word Ve Excel'e Gönderme (OfficePartner)
« Yanıtla #14 : 28 Kasım 2010 01:41:48 »
Bu şekilde açılan excel programa bağlı bir işlem parçası olduğu için sonlanmaktadır. Oluşan dosyanızı ayrıca açmanız programın kapanmasından etkilenmeyebilir.
Kod: [Seç]
uses ShellApi;
 ...
 ShellExecute(Handle, 'open', 'c:\klasor\exceldosyaadi.xls', nil, nil, SW_SHOWNORMAL) ;
gibi bir kodla oluşan dosyayı bağımsız olarak açabilirsiniz.
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir