سلام
این پست میخام در باره صدور اکسل برای دیتا گرید ویو اموزش بزارم
پس از ساخت پروژ لازمه اطلاعات دیتاگرید ویو بصورت گزارش صادر گردد در صورتیکه این اطلاعات نسبتا زیاد باشند چاپ و کپی انها کار عاقلانه ای نمیباشد
پس بهتره یکی از راههای تبدیل به اسناد رو یاد بگیریم
ایتدا از رفرس پروژه این کتابخانه رو اضافه کنید
Microsoft.Office.Interop.Excel
سپس در اولین خط یه ابجکت از کلاس اکسل ساخته و یک کتاب کار از نوع اکسل بهش معرفی میکنیم
سپس یک شیت از فایل اکسل میسازیم همونطور که میدونید فایل اکسل از شیت تشکیل شده است
بعد نام شیت اول یا شیت فعال رو تغییر میدهیم
بعد با استفاده از 2 حلقه تکرار با استفاده از اولی تعداد ستوان ها و با دومی تعداد سطرها رو گرفته و در داخل فایل اکسل فرار مدیم
نهایتا با استفاده از savefiledialog در محل مورد نظر دخیره میکنیم
کد های مربوطه
_Application app = new Microsoft.Office.Interop.Excel.Application();
_Workbook workbook = app.Workbooks.Add(Type.Missing);
_Worksheet worksheet = null;
app.Visible = true;
worksheet = (Worksheet)workbook.Sheets["Sheet1"];
worksheet = (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();
}
}
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel Document(*.xlsx)|*.xlsx";
if (sfd.ShowDialog() == DialogResult.OK)
{
workbook.SaveAs(sfd.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}
app.Quit();