ListView daki Verileri Excel e Aktarmak

Arkadaşlar bu makalemizde ListView nesnesindeki verileri Excel dosyasına kaydedeceğiz. İlk önce Solution Explorer a sağ tıkla. Add Reference tıkla. Daha sonra COM kısmından Microsoft Excel 12.0 Object Library dosyasını seçip, OK e tıkla. Böylece Excel Library dosyasını projemize eklemiş olduk.



Şekil 1



Şekil 2

Form1.cs

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;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

DataTable tablo;

private void Form1_Load(object sender, EventArgs e)

{

//tablo oluşturup bilgileri giriyoruz.

tablo = new DataTable();

tablo.Columns.Add("Id", typeof(string));

tablo.Columns.Add("UrunAdı", typeof(string));

tablo.Columns.Add("Fiyatı", typeof(string));

tablo.Rows.Add("1", "Apple Laptop", "1500");

tablo.Rows.Add("2", "Casper Laptop", "1500");

tablo.Rows.Add("3", "IBM Laptop", "1500");

tablo.Rows.Add("4", "SATA2 Harddisk", "100");

tablo.Rows.Add("5", "DDR3 Ram", "110");

tablo.Rows.Add("6", "4 GB Flash Bellek", "15");

tablo.Rows.Add("7", "4 GB microSD ", "15");

tablo.Rows.Add("8", "500 GB Pocket Harddisk", "130");

tablo.Rows.Add("9", "19 inc LCD Ekran", "150");

//listview nesnesindeki sutunları oluşturuyoruz.

listView1.View = View.Details;

listView1.Columns.Add("Id", 50);

listView1.Columns.Add("Ürün Adı", 100);

listView1.Columns.Add("Fiyatı (USD)", 50);

listView1.Items.Clear();

foreach (DataRow row in tablo.Rows)

{

ListViewItem item = new ListViewItem(row["Id"].ToString());

item.SubItems.Add(row["UrunAdı"].ToString());

item.SubItems.Add(row["Fiyatı"].ToString());

listView1.Items.Add(item);

}

}

private void button1_Click(object sender, EventArgs e)

{

Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();

xla.Visible = true;

Microsoft.Office.Interop.Excel.Workbook wb = xla.Workbooks.Add(Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet);

Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)xla.ActiveSheet;

int i = 1;

int j = 1;

foreach (ListViewItem item in listView1.Items)

{

ws.Cells[i, j] = item.Text.ToString();

foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)

{

ws.Cells[i, j] = subitem.Text.ToString();

j++;

}

j = 1;

i++;

}

}

}

}

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

2 comments:

ayseenise dedi ki...

mrb. bahadır bey bu listede 300 veri varsa bu verilerin hepsini kodlamamız mı gerekiyor

Unknown dedi ki...

Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();

Bahadır Bey Selamlar

Application hepsinde altı çizgili hatalı neden olabilir ve çözümü nedir.

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...