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();
}
}