15 Ocak 2018 Pazartesi

C# SQL veritabanından Excel dosyası Oluşturmak


Aşağıdaki örnek kod ile Dosyayı kaydedeceğiniz dizin seçilir ve sql komutları ile gelen sonuç excel dosyası olarak kaydedilebilir.

Excelin İnterop sınıfını projenize dahil ediniz. Refrances bölümünden Sağtık New Refrances


using bölümüne tanımlamalarımızı yapıyoruz

using Excel = Microsoft.Office.Interop.Excel;



private void linkLabel10_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
using (var fbd = new FolderBrowserDialog()) 
     DialogResult result = fbd.ShowDialog();

if (result == DialogResult.OK && ! string.IsNullOrWhiteSpace(fbd.SelectedPath)) 
string fileTest = fbd.SelectedPath.ToString() + "\\Ornek.xlsx";
if (File.Exists(fileTest)) 
File.Delete(fileTest);
}
 SqlDataAdapter da = new SqlDataAdapter("SELECT * From TabloAdi", baglan); 
// SQL Dataadapterı tanımlayınız.

DataSet ds = new DataSet();
  da.Fill(ds);
Excel.Application Excel;
Excel.Worksheet excelWorkSheet;
Excel.Workbook excelWorkBook;
Excel = new Excel.Application();
excelWorkBook = Excel.Workbooks.Add();
excelWorkSheet = (Excel.Worksheet) excelWorkBook.Worksheets.get_Item(1);
excelWorkSheet.Name = "Katılım Durumu";
foreach (DataTable table in ds.Tables) 
for (int i = 1;i < table.Columns.Count + 1;i ++) 
{
 excelWorkSheet.Cells[1,i] = table.Columns[i - 1].ColumnName;
for (int j = 0;j < table.Rows.Count;j ++) 
for (int k = 0;k < table.Columns.Count;k ++) 
{
 excelWorkSheet.Cells[j + 2,k + 1] = table.Rows[j].ItemArray[k].ToString();
}
}

excelWorkBook.SaveAs(fileTest);
excelWorkBook.Close();
Excel.Quit();
}
}

Hiç yorum yok: