PDA

View Full Version : ذخیره نتایج datagrid در اکسل



مهرناز*
شنبه 26 دی 1394, 02:56 صبح
با سلام
ذوستان من میخوام نتایج نشان داده شده در گریدویو رو به اکسل منتقل کنم و اونجا ذخیره کنم. در مورد کدش راهنماییم میکنید.
ممنون

merlin_vista
شنبه 26 دی 1394, 10:49 صبح
public bool GridViewToExcel(DataGridView rdgv, int ColumnWidth, string SaveFileName, string cName)
{
try
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
ExcelApp.Application.Workbooks.Add();
ExcelApp.Columns.ColumnWidth = ColumnWidth;
ExcelApp.Cells[1, 1] = "نام دوره/ترم: " + cName;
ExcelApp.Rows.Merge(5);
for (int i = 1; i < rdgv.Columns.Count + 1; i++)
{
ExcelApp.Cells[2, i] = rdgv.Columns[i - 1].HeaderText;
ExcelApp.Cells.Font.Bold = true;
}
for (int i = 0; i < rdgv.Rows.Count; i++)
{
for (int j = 0; j < rdgv.Columns.Count; j++)
{
try
{
ExcelApp.Cells[i + 3, j + 1] = rdgv.Rows[i].Cells[j].Value.ToString();
// ((Microsoft.Office.Interop.Excel.Range)ExcelApp.Ce lls[i + 3, j + 1]).Interior.Color = ColorTranslator.ToOle(rdgv.Rows[k].Cells[name].Style.BackColor);

}
catch
{
try
{
ExcelApp.Cells[i + 3, j + 1] = "";
}
catch { }


}
}
}
ExcelApp.ActiveWorkbook.SaveCopyAs(SaveFileName);
ExcelApp.ActiveWorkbook.Saved = true;
ExcelApp.Quit();
return true;
}
catch
{
return false;
}
}

قبل از اجرا رفرنس microsoft.office.interop.excel را اضافه کنید