خروجی اکسل گرفتن از DataGridView

یک کنترل DatagridView و یک کنترل Button بر روی فرم قرار دهید،سپس مراحل زیر راطی کنید:
5555
6666

و حال کدهای زیر را در رویداد کلیک دکمه بنویسید :

using System;
using System.Windows.Forms;

namespace DataGridToExcel
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.dataGridView1.ColumnCount = 3;
            this.dataGridView1.Rows.Add(new object[] { "www.w3-farsi.com", "younes", "ebrahimi" });
            this.dataGridView1.Rows.Add(new object[] { 4, 5, 6 });
            this.dataGridView1.Rows.Add(new object[] { 1, 2, 3 });
        }

        private void button1_Click(object sender, EventArgs e)
        {
            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 < dataGridView1.Columns.Count + 1; i++)
            {

                worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;

            }

            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                }
            }

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

    }
}

فایل اکسل در درایور C ذخیره می شود.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر و اگر سوالی دارید در بخش پرسش و پاسخ مطرح بفرمایید.

  1. سعید پاسخ دادن

    سلام
    درصورتی که بخواهیم عملیات خروجی گرفتن اکسل را لغو کنیم چه کار باید بکنیم ؟

    • یونس ابراهیمی پاسخ دادن

      سلام دوست عزیز… ممنون میشم سوالتونو توی انجمن مطرح بفرمایید.

  2. پیام پاسخ دادن

    سلام
    روشی ساده تر بدون نیاز به اضافه کردن رفرنس ، مشاهده کنید :
    http://www.codeproject.com/Tips/545456/Exporting-DataGridview-To-Excel

    • یونس ابراهیمی پاسخ دادن

      ممنون از لطفتون دوست عزیز

  3. h.gheidrlou پاسخ دادن

    تشکر
    عالی بود
    فقط اگه تنظیمات اکسل را هم میشد کد نویسی کرد خوب بود که مستقیم در ادامه کدها ستونهای عددی تکمیل و اعداد بزرگ یا جملات بزرگ بصورت فیکس داخل سل های اکسل قرار
    گرفته و پنهان نباشند
    باتشکر

  4. رضا پاسخ دادن

    سلام. اگه فایل اکسلی رو اوردی تو دیتاگریدویو میخوای یه سرچ بر اساس یکی از فیلدهای جدول ایجاد شده در دیتا گرید ویوبذاری و بعدش دوباره بخوای تو یه اکسل یا بانک اکسس بذاریشون چکار کنیم ؟لطفا راهنمایی کنید.

  5. akakala پاسخ دادن

    خدایی خیلی دمتون گرمه