7 Ağustos 2014 Perşembe

C# Excel Formatında Kayıt

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