Error Exporting to Excel C#
<p>I'm getting an error when I'm exporting Excel to C#, I can't find where my code is wrong and the solution for my problem </p>

<p>Error :</p>

<blockquote>
  <p>An unhandled exception of type
  'System.Runtime.InteropServices.COMException' occurred in GestãoSI.exe</p>
  
  <p>Additional information: Índice inválido. (Excepção de HRESULT:
  0x8002000B (DISP_E_BADINDEX))</p>
</blockquote>

<p>The error appear when the code is running </p>

<pre><code>// Add a workbook.
oBook = oExcel_12.Workbooks.Add(oMissing);

// Get worksheets collection 
oSheetsColl = oExcel_12.Worksheets;

// Get Worksheet "Sheet1"
oSheet = (Excel_12.Worksheet)oSheetsColl.get_Item("Sheet1");
</code></pre>

<p>Here is all my code </p>

<pre><code> public static void ExportDataGridViewTo_Excel12(DataGridView itemDataGridView)
 {
        Excel_12.Application oExcel_12 = null;                //Excel_12 Application
        Excel_12.Workbook oBook = null;                       // Excel_12 Workbook
        Excel_12.Sheets oSheetsColl = null;                   // Excel_12 Worksheets collection
        Excel_12.Worksheet oSheet = null;                     // Excel_12 Worksheet
        Excel_12.Range oRange = null;                         // Cell or Range in worksheet
        Object oMissing = System.Reflection.Missing.Value;

        // Create an instance of Excel_12.
        oExcel_12 = new Excel_12.Application();

        // Make Excel_12 visible to the user.
        oExcel_12.Visible = true;

        // Set the UserControl property so Excel_12 won't shut down.
        oExcel_12.UserControl = true;

        // System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");

        // Add a workbook.
        oBook = oExcel_12.Workbooks.Add(oMissing);

        // Get worksheets collection 
        oSheetsColl = oExcel_12.Worksheets;

        // Get Worksheet "Sheet1"
        oSheet = (Excel_12.Worksheet)oSheetsColl.get_Item("Sheet1");

        // Export titles
        for (int j = 0; j &lt; itemDataGridView.Columns.Count; j++)
        {
            oRange = (Excel_12.Range)oSheet.Cells[1, j + 1];
            oRange.Value2 = itemDataGridView.Columns[j].HeaderText;
        }

        // Export data
        for (int i = 0; i &lt; itemDataGridView.Rows.Count - 1; i++)
        {
            for (int j = 0; j &lt; itemDataGridView.Columns.Count; j++)
            {
                oRange = (Excel_12.Range)oSheet.Cells[i + 2, j + 1];
                oRange.Value2 = itemDataGridView[j, i].Value;
            }
        }

        // Release the variables.
        //oBook.Close(false, oMissing, oMissing);
        oBook = null;

        //oExcel_12.Quit();
        oExcel_12 = null;

        // Collect garbage.
        GC.Collect();
    }
</code></pre>
