Hi droiddeve,
Add "FolderBrowserDialog" from toolbox in the designer. Then change the below code with your code.
C#
private void btnExport_Click(object sender, EventArgs e)
{
ExportToExcel(dataGridView1, "StudentDetails");
}
public void ExportToExcel(DataGridView gridviewID, string excelFilename)
{
Microsoft.Office.Interop.Excel.Application objexcelapp = new Microsoft.Office.Interop.Excel.Application();
objexcelapp.Application.Workbooks.Add(Type.Missing);
objexcelapp.Columns.ColumnWidth = 24;
/*Assigning header to excel sheet*/
for (int i = 1; i < gridviewID.Columns.Count + 1; i++)
{
objexcelapp.Cells[1, i] = gridviewID.Columns[i - 1].HeaderText;
// Header text align centre when the data is imported to excel
objexcelapp.Cells[1, i].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
}
/*For storing Each row and column value to excel sheet*/
for (int i = 0; i < gridviewID.Rows.Count; i++)
{
for (int j = 0; j < gridviewID.Columns.Count; j++)
{
if (gridviewID.Rows[i].Cells[j].Value != null)
{
objexcelapp.Cells[i + 2, j + 1] = gridviewID.Rows[i].Cells[j].Value.ToString();
// If you want to center row text uncomment the below line.
//objexcelapp.Cells[1, i].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
}
}
}
folderBrowserDialog1.ShowDialog();
string pathToSave = folderBrowserDialog1.SelectedPath;
objexcelapp.ActiveWorkbook.SaveCopyAs(pathToSave + "\\" + excelFilename + ".xlsx");
objexcelapp.ActiveWorkbook.Saved = true;
MessageBox.Show("Your excel file exported successfully at " + pathToSave + "\\");
}
Screenshot