Skip to content

Instantly share code, notes, and snippets.

@mahmut-gundogdu
Created June 14, 2013 13:53
Show Gist options
  • Save mahmut-gundogdu/5781967 to your computer and use it in GitHub Desktop.
Save mahmut-gundogdu/5781967 to your computer and use it in GitHub Desktop.
excel olmasa da c sharp ile excele sql sorgumuzun sonucunu hariç etmek. bu kodun çalışması için CarlosAg.ExcelXmlWriter.dll dosyası gerekmekedir.
private Task<DataTable> db()
{
return Task.Run(() =>
{
SqlConnection baglan = new SqlConnection("Server=.\\sqlexpress;Database=eczanem;Trusted_Connection=True;");
string sorgu = textBox1.Text;
SqlDataAdapter adp = new SqlDataAdapter(sorgu, baglan);
DataTable dt = new DataTable();
adp.Fill(dt);
return dt;
});
}
//CarlosAg.ExcelXmlWriter
private Task<bool> SorguToExcel(DataTable datatbl)
{
return Task.Run(() =>
{
Workbook book = new Workbook();
Worksheet sheet = book.Worksheets.Add("Calisma1");
DataTable dt = datatbl;
for (int i = 0; i < dt.Rows.Count; i++)
{
WorksheetRow row = sheet.Table.Rows.Add();//satir ekliyoruz Datatable daki rows ayısınca
int count = dt.Columns.Count;
for (int j = 0; j < count; j++)
{
string s = dt.Rows[i][j].ToString();//sütun ekliyoruz colums sayisinca
row.Cells.Add(s);
}
}
book.Save(@"c:\mg\test4.xls");//istediğimiz bir dizine kaydediyoruz.
return true;
});
}
private async void button2_Click(object sender, EventArgs e)
{
this.Text = "Yükleniyor...";
DataTable dt = await db();
this.dataGridView1.DataSource = dt;
bool sda = await SorguToExcel(dt);//sırf async olsun diye bool değer dönderdim belki gerek yoktu ama
this.Text = "İşlem tamam";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment