Merhaba Arkadaşlar,
Size bilgisayarınızda bulunan hazır bir form vb. içine değer yazmak için aşağıdaki işlemleri uygulamanız muhtemelen yeterli olacaktır. Çünkü bilgisayarınızda ve yaptığınız form uygulamanıza göre değişiklik gösterebilir.
Yukarıda bulunan her projemizin başında bulunan kütüphanelerden gerekli olanları kullanmanız gerekecektir. Hepsini birden boşuna kopyalamayın. Yukarıdaki kodlar olmadan aşağıdaki kodlar hata verecektir.
Aşağıdaki kodlar Form click butonunun içindeki kodlardır. Aşağıdaki kodların açıklamalarını kod'tan sonra detaylı olarak anlatmaya çalışacağım.
Aşağıdaki kod muhtemelen biliyorsunuz. Şayet "TxtId" adını verdiğim formda kayıt olup olmadığını kontrol ettiğim Texboxt'ın adı. Kayıt yok ise "Ekranda kayıt yok iken form açamazsınız." desin.
İlk önce ilgili dosyayı aşağıda görüldüğü gibi projeye varolan dosya şeklinde projemize dahil etmemiz gerekiyor.

Projemizde derlediken sonra çalışması için aşağıdaki gibi projemizin içine İçerik şeklinde eklememiz gerekiyor.

Aşağıda kod, eklediğimiz dosyanın ismini belirttiğimiz alan,
Aşağıdaki kod ise, excel hangi hücreye, projemizdeki hangi alanın bilgisini göndereceğimizi gösteriyor. Burada bulunan "F11", Excel dosyamızdaki F11 hücresine yazı yazacağımızı, LblX.Text ise projemizdeki LblX.Text 'te ne yazıyorsa onu yaz demektedir. Burada if komutu kullanmamın sebebi, projemde kullanıcıya teslim ettiğim cep telefonunda mikrofonlu kulaklık olup olmadığını excel belgemdeki zimmet formuna, ilgili yere kayıt atması için. İf komutu yok ise şart aramadan, direk o hücreye yaz diyecektir.
Projede yukarıdaki kodları ekleyip, hata veriyorsa lütfen geri dönüş yapınız. Hızlıca anlatımda eksik kalan bir yer var ise tamamlamaya çalışacağım.
Şimdiden kolay gelsin.
Size bilgisayarınızda bulunan hazır bir form vb. içine değer yazmak için aşağıdaki işlemleri uygulamanız muhtemelen yeterli olacaktır. Çünkü bilgisayarınızda ve yaptığınız form uygulamanıza göre değişiklik gösterebilir.
Kod:
using System.Data.OleDb;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
using DataTable = System.Data.DataTable;
using System.IO;
using Application = System.Windows.Forms.Application;
Yukarıda bulunan her projemizin başında bulunan kütüphanelerden gerekli olanları kullanmanız gerekecektir. Hepsini birden boşuna kopyalamayın. Yukarıdaki kodlar olmadan aşağıdaki kodlar hata verecektir.
Aşağıdaki kodlar Form click butonunun içindeki kodlardır. Aşağıdaki kodların açıklamalarını kod'tan sonra detaylı olarak anlatmaya çalışacağım.
Kod:
if (TxtId.Text == "")
{
MessageBox.Show("Ekranda kayıt yok iken form açamazsınız.");
}
else if (TxtZimmetid.Text == "")
{
MessageBox.Show("İlk önce cep telefonunu, bir kullanıcıya zimmetlemeniz gerekiyor.");
}
else if (CmbZimmetleyen.Text == "")
{
MessageBox.Show("Zimmet işlemini yapan kullanıcıyı seçmeniz gerekiyor.");
}
else
{
MessageBox.Show("Lütfen Tamam Dedikten sonra, Excel Zimmet Formunun Açılmasını Bekleyin.");
string path = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
excelApp.Visible = true;
System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("tr-tr");
Microsoft.Office.Interop.Excel.Workbook kitap = excelApp.Workbooks.Open(path + @"\BS.F.09.xlsx");
Microsoft.Office.Interop.Excel.Worksheet objSheet = (Microsoft.Office.Interop.Excel.Worksheet)kitap.Worksheets.get_Item(1);
Microsoft.Office.Interop.Excel.Range objRange;
objRange = objSheet.get_Range("C11", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, CmbMarkamodel.Text);
objRange = objSheet.get_Range("C12", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, MtbImei.Text);
objRange = objSheet.get_Range("C13", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, CmbTakilihat.Text);
if (ChkbMikrofonlukulaklik.Checked == true)
{
objRange = objSheet.get_Range("F11", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
else
{
objRange = objSheet.get_Range("H11", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
if (ChkbAdaptor.Checked == true)
{
objRange = objSheet.get_Range("F12", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
else
{
objRange = objSheet.get_Range("H12", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
if (ChkbSarjkablosu.Checked == true)
{
objRange = objSheet.get_Range("F13", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
else
{
objRange = objSheet.get_Range("H13", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
objRange = objSheet.get_Range("B25", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, CmbZimmetleyen.Text);
objRange = objSheet.get_Range("B26", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblZimmetunvan.Text);
objRange = objSheet.get_Range("B27", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblZimmetbirim.Text);
objRange = objSheet.get_Range("E25", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, CmbAdsoyad.Text);
objRange = objSheet.get_Range("E26", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, TxtUnvan.Text);
objRange = objSheet.get_Range("E27", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, TxtBirim.Text);
Aşağıdaki kod muhtemelen biliyorsunuz. Şayet "TxtId" adını verdiğim formda kayıt olup olmadığını kontrol ettiğim Texboxt'ın adı. Kayıt yok ise "Ekranda kayıt yok iken form açamazsınız." desin.
Kod:
if (TxtId.Text == "")
{
MessageBox.Show("Ekranda kayıt yok iken form açamazsınız.");
}
İlk önce ilgili dosyayı aşağıda görüldüğü gibi projeye varolan dosya şeklinde projemize dahil etmemiz gerekiyor.

Projemizde derlediken sonra çalışması için aşağıdaki gibi projemizin içine İçerik şeklinde eklememiz gerekiyor.

Aşağıda kod, eklediğimiz dosyanın ismini belirttiğimiz alan,
Kod:
Microsoft.Office.Interop.Excel.Workbook kitap = excelApp.Workbooks.Open(path + @"\BS.F.09.xlsx");
Aşağıdaki kod ise, excel hangi hücreye, projemizdeki hangi alanın bilgisini göndereceğimizi gösteriyor. Burada bulunan "F11", Excel dosyamızdaki F11 hücresine yazı yazacağımızı, LblX.Text ise projemizdeki LblX.Text 'te ne yazıyorsa onu yaz demektedir. Burada if komutu kullanmamın sebebi, projemde kullanıcıya teslim ettiğim cep telefonunda mikrofonlu kulaklık olup olmadığını excel belgemdeki zimmet formuna, ilgili yere kayıt atması için. İf komutu yok ise şart aramadan, direk o hücreye yaz diyecektir.
Kod:
if (ChkbMikrofonlukulaklik.Checked == true)
{
objRange = objSheet.get_Range("F11", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
else
{
objRange = objSheet.get_Range("H11", System.Reflection.Missing.Value);
objRange.set_Value(System.Reflection.Missing.Value, LblX.Text);
}
Projede yukarıdaki kodları ekleyip, hata veriyorsa lütfen geri dönüş yapınız. Hızlıca anlatımda eksik kalan bir yer var ise tamamlamaya çalışacağım.
Şimdiden kolay gelsin.