• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

/ Veritabanını Excel'e Aktarma /

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
Öncelikle herkese merhaba,

Bu derste bağlantı açtığımız MSSQL veritabanının Excel programına aktarılmasını göstereceğim.

Programda Excel'e aktarırken veritabanımızdaki tablo isimlerini öğreneceğiz. Daha sonra bu tabloları sorguyla datagridview'da göstereceğiz. Ardından datagridview'i Excel'e aktaracağız.

Şimdi kodlara bakalım.

Kod:
using System.Data.SqlClient;
using Excel=Microsoft.Office.Interop.Excel;


Öncelikle bu kütüphaneleri projemize ekliyoruz.

Kod:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlConnection con = new SqlConnection();
private **** Form1_Load(object sender, EventArgs e)
{
con.ConnectionString="Data Source=KAFKEFSQLEXPRESS;Initial Catalog=database;Integrated Security=True;Pooling=False";

}

private **** btn_Aktar_Click(object sender, EventArgs e)
{
//tablo isimlerini listeliyoruz....
SqlCommand comm = new SqlCommand("Select*from sys.tables",con);
SqlDataReader rdr = comm.ExecuteReader();
while (rdr.Read())
{
comboBox1.Items.Add(rdr.GetValue(0).ToString());

}
DataGridView dt = new DataGridView();
rdr.Close();

//excele aktarma işlemi yapılıyorrr...
///excel uygulaması olusturuluyorr....
Excel.Application excelApp = new Excel.Application();
excelApp.Workbooks.Add();
//sayfalar ekleniyor...
int k = comboBox1.Items.Count-3;
for (int i = 0; i < k; i++)
excelApp.Worksheets.Add();
//sayfa isimleri tablo isimlerine eşitleniyor...
for (int i = 1; i <= k + 3; i++)
{
excelApp.Worksheets.Name = comboBox1.Items[i - 1].ToString();
}
//tablolar datagride aktrama işlemi yapılıyorr...
for (int s = 1; s <= k + 3; s++)
{
DataTable table = new DataTable();
DataSet ds = new DataSet();
string sorgu = "Select*From @table";
sorgu = sorgu.Replace("@table", comboBox1.Items[s-1].ToString());
SqlDataAdapter adp = new SqlDataAdapter(sorgu,con);
adp.Fill(ds, comboBox1.Items[0].ToString());
dt.DataSource = ds.Tables[comboBox1.Items[0].ToString()];
adp.Dispose();
excelApp.Worksheets.Activate();
for (int i = 0; i <dt.Columns.Count; i++)
{
excelApp.Cells[1, i + 1].value = dt.Columns.HeaderText;
}
for (int i = 0; i < dt.Columns.Count; i++)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
excelApp.Cells[j + 2, i + 1] = dt[i, j].Value;
}
}
excelApp.Visible = true;
excelApp.Worksheets[1].Activate();

}

}
}
}
 
Üst