using Microsoft.Office.Interop.Excel;
//kütüphanelere eklenmesi gerekir.
//Bu kütüphaneyi eklemeden önce add referance deyip Microsoft.Office.Interop.Excel dll dosyasını eklemek //gerekmektedir.
private void buttonExcelAlarmKayıtları_Click(object sender, EventArgs e)
{
// Microsoft.Office.Interop.Excel kütüphanesi de eklenerek datagridview üzerindeki değerlerin excel //formatına çevrilmesi
Microsoft.Office.Interop.Excel.Application xlApp;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
Int16 i, j;
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Satır ve Sutun değerlerinin toplanması
//Kaydedilecek datagrid üzerindeki değerlerin excele yazdırıldığı kısım
for (i = 0; i <= dataGridView1.RowCount - 1; i++)
{
for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
{
if (i == 0)
{
//ilk kaydedilecek satırın database başlıkları olarak kalmasını sağlar
xlWorkSheet.Cells[i + 1, j + 1] = dataGridView1.Columns[j].HeaderText;
}
xlWorkSheet.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
}
}
//KAYIT için pencere açılması SaveFileDialog Kullanımı
// Configure savefile dlg with your stuff
SaveFileDialog saveFileDlg = new SaveFileDialog();
// Convenient if you already have a application directory to store notes in
//Aşağıdaki yazım şekli kayıt türünü istenen formatta filtrelenmesi için kullanılmıştır.
saveFileDlg.InitialDirectory = "%USERPROFILE%\\Documents";
saveFileDlg.Filter = "Excel2003 File (*.xls)|*.xls|All Files (*.*)|*.*";
// it's nice to use the folder that the user has been using if any
saveFileDlg.RestoreDirectory = true;
//KAYIT yapılmak için butona basılmış ama isim yazılmadıysa veya işlem onaylanmadıysa işlemlerin //yapılmamasını sağlar.
// present the dialog to the user
if (saveFileDlg.ShowDialog() == DialogResult.OK && saveFileDlg.FileName != "")
{
xlWorkBook.SaveAs(saveFileDlg.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Kayıt Başarılı");
}
}
Hiç yorum yok:
Yorum Gönder