Merhaba bir kodum var datagridi excel'e dönüştürüyor fakat bir sorun var datagrid'deki ilk kaydı almıyor

Şuanki hali ile başlıkları almıyor tüm kayıtları alıyor alttaki i'yi 1'den başlattığımda ise başlıkları alıyor ilk kaydı almıyor nasıl düzeltebilirim sorunu?
int i = 0;
int j = 0;
for (i = 1; i < dg.Columns.Count + 1; i++)
{
if (dg.Columns[i - 1].Visible)
{
xlWorkSheet.Cells[1, i] = dg.Columns[i - 1].HeaderText;
}
}
for (i = 0; i <= dg.RowCount-1; i++)
{
for (j = 0; j <= dg.ColumnCount-1; j++)
{
DataGridViewCell cell = dg[j, i];
xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
}
}