Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

C# ile Excele Veri Kaydetmek Ne Kadar Zor Olabilirki?

Böyle bir başlık atmamdaki sebep bu işin o kadarda kolay gibi görünüp, kolay olmamasıdır. Aynı uygulamayı Python dili ile daha kolay yazmıştım ama

Microsoft C# ın Excel bağlantısını bir okadar kapsamlı yapmış. MSDN in sayfasında 1-2 saat geçirmeme ve Memik YANIK Bey' in sitesinde buldugum örneği incelememe rağmen bir çok sorunla karşılaştım.
Öncelikle uygulamanın Visual Studio 2008 ve Microsoft Ofis 2003 kullanarak yazıldığını belirtmeliyim. Çünkü versiyonlar arasında MSDN de anlatıldıgı gibi farklılıklar bulunmakta.


Kodları aynen alıp değiştirmeden kullanmak isterseniz Visual Studio ve Microsoft Ofis uyumluluğuna dikkat ediniz.
/*
* Projenin Adı : SahinExcel
* Amacı : C# ile Excel' e veri aktarmak
* Tarih : 06-07-2011
* Web : http://www.electrocoder.NET
* Lisans : Kullanilan araclarin sahiplerinin lisans haklarina bakilmalidir.
* Eğitim amacli olarak genel kullanıma aciktir.
*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;

namespace SahinExcel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*
* yeni excel dosyasinin acilmasi icin
* Application ve Workbook nesneleri olusturuluyor...
*/

Microsoft.Office.Interop.Excel.Application excelDosyam;
Microsoft.Office.Interop.Excel.Workbook excelKitabim;
private void button1_Click(object sender, EventArgs e)
{
//ofis baglantisi olusturulur...
excelDosyam = new Microsoft.Office.Interop.Excel.Application();
excelDosyam.Visible = true;

//bir sayfa olusturur...
object sayfa = true;
excelKitabim=excelDosyam.Workbooks.Add(sayfa);

//birden fazla sayfa olusturmak icin...
object multiSayfa = System.Reflection.Missing.Value;

//kac adet sayfa eklenmek isteniyorsa "object count" parametresinde belirtilir...
Microsoft.Office.Interop.Excel.Worksheet Tablo;
Tablo = (Worksheet)excelDosyam.ActiveSheet;
excelDosyam.Worksheets.Add(multiSayfa, Tablo, 1, multiSayfa);
}

/*
* acilan excel dosyasina verilir yazdiriliyor...
*/

Microsoft.Office.Interop.Excel.Worksheet excelSayfam;
private void button2_Click(object sender, EventArgs e)
{
//tablo secilerek aktif tabloya veri eklenir...
excelSayfam = (Worksheet)excelDosyam.Application.Sheets[1];

//hangiSayfaAktif ise o secili hale getirilir...
object hangiSayfaAktif = 1;
excelSayfam.Select(hangiSayfaAktif);

excelSayfam.Cells[2, 2] = "sahin";
excelSayfam.Cells[3, 2] = "mersin";
excelSayfam.Cells[4, 2] = "manisali sahin";
}

/*
* veri yazildiktan sonra dosyamiz veriler
* dosya yoluna kaydediliyor...
*/

private void button3_Click(object sender, EventArgs e)
{
excelKitabim.SaveAs(@"c:\SahinExcel.xls",
Microsoft.Office.Interop.Excel.XlFileFormat.xlXMLSpreadsheet, Type.Missing, Type.Missing,
false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}

/*
* verileri eklenen ve kaydedilen excel dosyasini kapatma zamani gelmistir...
*/

private void button4_Click(object sender, EventArgs e)
{
excelDosyam.Quit();
}
}
}






Yazamam link varsa verirmisin diyenler için işte size indirme linki. Buradan indiriniz..

Yorum Gönder

0 Yorumlar

Ad Code

Responsive Advertisement