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.
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