umut dana
Banned
Merhaba arkadaşlar,
Yine oldukça basit bir konuya değineceğim. Umarım sizlere faydası dokunur.
Excel işlemleri bir kaç türlü yapılabilir. OleDB ile bağlantı kurarak veya şuan anlatacağım yöntemle...
En başta projemize Microsoft.Office.Interop.Excel başvurusunu ekleyelim. Sonrasında isim uzayı tanımları alanına aşağıdaki satırı ekleyelim:
using Excel = Microsoft.Office.Interop.Excel;
Şimdi ise kod öbeğimize gerekli kodu ekleyelim...
public void ExceleAktar(string veri, string sheetName)
{
//---------------------------------------
IDataObject eskiData = Clipboard.GetDataObject();
//---------------------------------------
Excel.Application excelDosya = null;
//---------------------------------------
try
{
//---------------------------------------
excelDosya = new Excel.Application(); // Yeni bir dosya oluştur.
if (excelDosya == null) throw new Exception("Excel başlatılamadı. Excelin düzgün kurulduğundan emin olun.");
//---------------------------------------
excelDosya.Workbooks.Add(Type.Missing); // Dosyaya bir çalışma kitabı ekle.
Excel.Worksheet yeniSayfa; // Yeni bir sayfa oluştur.
yeniSayfa = excelDosya.ActiveSheet; // Yeni sayfayı aktif sayfa olarak belirle.
yeniSayfa.Name = sheetName; // Sayfanın ismini belirle.
excelDosya.Visible = true; // Dosyayı göster.
//---------------------------------------
Clipboard.SetText(veri); // Veriyi al.
//---------------------------------------
yeniSayfa.Cells[1, 1].Select(); // Hücreyi seç.
yeniSayfa.Paste(); // Veriyi yapıştır.
yeniSayfa.Cells.Font.Size = 10; // Yazı boyutu 10.
yeniSayfa.Cells.WrapText = false; // Metni kaydırma kapalı.
yeniSayfa.Columns.AutoFit(); // Sütunları otomatik boyutlandır.
//---------------------------------------
yeniSayfa.Rows.Characters.Font.Bold = true;
yeniSayfa.Rows.Characters.Font.ThemeColor = Excel.XlThemeColor.xlThemeColorAccent2;
//---------------------------------------
yeniSayfa.Rows.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
yeniSayfa.Rows.RowHeight = 18;
//---------------------------------------
yeniSayfa.Cells[1, 1].Select(); // İlk hücreyi seç.
//---------------------------------------
}
//---------------------------------------
catch (Exception hata)
{
MessageBox.Show(hata.Message, "Hata Mesajı");
}
//---------------------------------------
finally
{
Clipboard.SetDataObject(eskiData);
if (excelDosya != null) excelDosya.Quit();
}
//---------------------------------------
}
Burada string değeri üzerinde bir düzenleme yok. Bu değeri kopyalayıp bir excel dosyasına yapıştırdığınızda nasıl bir görüntü elde ediyor iseniz bu fonksiyonda aynı çıktıyı verecektir.
Yine oldukça basit bir konuya değineceğim. Umarım sizlere faydası dokunur.
Excel işlemleri bir kaç türlü yapılabilir. OleDB ile bağlantı kurarak veya şuan anlatacağım yöntemle...
En başta projemize Microsoft.Office.Interop.Excel başvurusunu ekleyelim. Sonrasında isim uzayı tanımları alanına aşağıdaki satırı ekleyelim:
using Excel = Microsoft.Office.Interop.Excel;
Şimdi ise kod öbeğimize gerekli kodu ekleyelim...
public void ExceleAktar(string veri, string sheetName)
{
//---------------------------------------
IDataObject eskiData = Clipboard.GetDataObject();
//---------------------------------------
Excel.Application excelDosya = null;
//---------------------------------------
try
{
//---------------------------------------
excelDosya = new Excel.Application(); // Yeni bir dosya oluştur.
if (excelDosya == null) throw new Exception("Excel başlatılamadı. Excelin düzgün kurulduğundan emin olun.");
//---------------------------------------
excelDosya.Workbooks.Add(Type.Missing); // Dosyaya bir çalışma kitabı ekle.
Excel.Worksheet yeniSayfa; // Yeni bir sayfa oluştur.
yeniSayfa = excelDosya.ActiveSheet; // Yeni sayfayı aktif sayfa olarak belirle.
yeniSayfa.Name = sheetName; // Sayfanın ismini belirle.
excelDosya.Visible = true; // Dosyayı göster.
//---------------------------------------
Clipboard.SetText(veri); // Veriyi al.
//---------------------------------------
yeniSayfa.Cells[1, 1].Select(); // Hücreyi seç.
yeniSayfa.Paste(); // Veriyi yapıştır.
yeniSayfa.Cells.Font.Size = 10; // Yazı boyutu 10.
yeniSayfa.Cells.WrapText = false; // Metni kaydırma kapalı.
yeniSayfa.Columns.AutoFit(); // Sütunları otomatik boyutlandır.
//---------------------------------------
yeniSayfa.Rows.Characters.Font.Bold = true;
yeniSayfa.Rows.Characters.Font.ThemeColor = Excel.XlThemeColor.xlThemeColorAccent2;
//---------------------------------------
yeniSayfa.Rows.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
yeniSayfa.Rows.RowHeight = 18;
//---------------------------------------
yeniSayfa.Cells[1, 1].Select(); // İlk hücreyi seç.
//---------------------------------------
}
//---------------------------------------
catch (Exception hata)
{
MessageBox.Show(hata.Message, "Hata Mesajı");
}
//---------------------------------------
finally
{
Clipboard.SetDataObject(eskiData);
if (excelDosya != null) excelDosya.Quit();
}
//---------------------------------------
}
Burada string değeri üzerinde bir düzenleme yok. Bu değeri kopyalayıp bir excel dosyasına yapıştırdığınızda nasıl bir görüntü elde ediyor iseniz bu fonksiyonda aynı çıktıyı verecektir.