Posted on 2018-10-12 10:06:48
Download Source Code / FileThis is the easiest way to export c# dataGridView to Ms Excel. It's only few seconds. only one thing you have to do; copy and paste below code and add ms excel reference. and remember; you must installed the ms Excel before.
// creating a excel object. microsoft.office.interop.excel._application excel = new microsoft.office.interop.excel.application(); microsoft.office.interop.excel._workbook workbook = excel.workbooks.add(type.missing); microsoft.office.interop.excel._worksheet worksheet = null; try { worksheet = workbook.activesheet; worksheet.name = "report name (worksheet name)"; int cellrowindex = 1; int cellcolumnindex = 1; //loop through each row and read value from each column. for (int i = 0; i <= datagridview1.rows.count; i++) { for (int j = 0; j < datagridview1.columns.count; j++) { // excel index starts from 1,1. as first row would have the column headers, adding a condition check. if (cellrowindex == 1) { worksheet.cells[cellrowindex, cellcolumnindex] = datagridview1.columns[j].headertext; } else { worksheet.cells[cellrowindex, cellcolumnindex] = datagridview1.rows[i - 1].cells[j].value.tostring(); } cellcolumnindex++; } cellcolumnindex = 1; cellrowindex++; } //getting the location and file name of the excel to save from user. savefiledialog savedialog = new savefiledialog(); savedialog.filter = "excel files (*.xlsx)|*.xlsx|all files (*.*)|*.*"; savedialog.filterindex = 2; savedialog.filename = "report_1"; //put file name here if (savedialog.showdialog() == system.windows.forms.dialogresult.ok) { workbook.saveas(savedialog.filename); messagebox.show("export successful"); } } catch (system.exception ex) { messagebox.show(ex.message); } finally { excel.quit(); workbook = null; excel = null; }