خروجی اکسل گرفتن از DataGridView
یک کنترل DatagridView و یک کنترل Button بر روی فرم قرار دهید،سپس مراحل زیر راطی کنید:
و حال کدهای زیر را در رویداد کلیک دکمه بنویسید :
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 ذخیره می شود.
for (int i = 0; i < dgridList.Rows.Count – 0; i++)
{
for (int j = 0; j < dgridList.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = dgridList.Rows[i].Cells[j].Value.ToString();
}
}
بنویسید تمام ردیف ها در اکسل نشون داده میشه -توی for دوم