نوشته های تازه
نویسنده : سید مرتضی حسینی

گرفتن خروجی اکسل از دیتاگرید در سی شارپ

برای استفاده از این تابع باید نام دیتاگرید خود را به عنوان ورودی بدهید.

 public void ExportToExel(DataGridView dgv)
        {
            try
            {
                if (dgv.Rows.Count > 0)
                {
                    Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
                    Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
                    Microsoft.Office.Interop.Excel._Worksheet worksheet = null;

                    app.Visible = true;
                    worksheet = workbook.Sheets["Sheet1"];
                    worksheet = workbook.ActiveSheet;
                    worksheet.Name = "Exported from gridview";


                    for (int i = 1; i < dgv.Columns.Count + 1; i++)
                    {
                        if (dgvStudent.Columns[i - 1].HeaderText != null)
                            worksheet.Cells[1, i] = dgv.Columns[i - 1].HeaderText;
                        else
                            worksheet.Cells[1, i] = "";

                    }

                    for (int i = 0; i < dgv.Rows.Count; i++)
                    {
                        for (int j = 0; j < dgv.Columns.Count; j++)
                        {
                            if (dgv.Rows[i].Cells[j].Value != null)
                                worksheet.Cells[i + 2, j + 1] = dgv.Rows[i].Cells[j].Value.ToString();
                            else
                                worksheet.Cells[i + 2, j + 1] = "";

                        }
                    }

                    workbook.SaveAs("c:\\output.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    app.Quit();
                }
            }
            catch { }
        }

نحوه ی استفاده از تابع در زیر آمده :

ExportToExel(DataGridView1);