Archit Shrivastava

Archit Shrivastava

  • NA
  • 416
  • 117.3k

Export only specific column to Excel

Sep 21 2018 2:04 AM
Hello,
 
I have the following code that will export the entire DataBound DataGridView to Excel. Looking for advice on the best way to export only certain columns.
 
Here is the code that I am using to export all columns to Excel
 
try
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = true;
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet sheet1 = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
int StartCol = 1;
int StartRow = 1;
int j = 0, i = 0;
//Write Headers
for (j = 0; j < dgv_preview.Columns.Count; j++)
{
Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[StartRow, StartCol + j];
myRange.Value2 = dgv_preview.Columns[j].HeaderText;
}
StartRow++;
//Write datagridview content
for (i = 0; i < dgv_preview.Rows.Count; i++)
{
for (j = 0; j < dgv_preview.Columns.Count; j++)
{
try
{
Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)sheet1.Cells[StartRow + i, StartCol + j];
myRange.Value2 = dgv_preview[j, i].Value == null ? "" : dgv_preview[j, i].Value;
}
catch
{
;
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

Answers (3)