I am hiding some columns in datagridview. When transferring data from Datagridview to Excel, hidden columns appear as empty columns. How can we prevent empty columns from appearing?

private void ExceleAktar_Load(object sender, EventArgs e)
{
SinifCek();
ComboBox1.SelectedIndex = 0;
DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
DGV.Columns["tcno"].Visible = tcnochk.Checked;
DGV.Columns["dtarihi"].Visible = dogchk.Checked;
DGV.Columns["atel"].Visible = atelchk.Checked;
DGV.Columns["btel"].Visible = btelchk.Checked;
DGV.TopLeftHeaderCell.Value = "S.No";
DGV.Columns[0].HeaderText = "T.C.No";
DGV.Columns[1].HeaderText = "Ö.No";
DGV.Columns[2].HeaderText = "Adi";
DGV.Columns[3].HeaderText = "Soyadi";
DGV.Columns[4].HeaderText = "Cinsiyeti";
DGV.Columns[5].HeaderText = "Sinifi";
DGV.Columns[7].HeaderText = "Anne Tel";
DGV.Columns[8].HeaderText = "Baba Tel";
}
public void Export_DataGridView_To_Excel(DataGridView DGV, string filename)
{
string[] Alphabit = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string Range_Letter = Alphabit[DGV.Columns.Count];
string Range_Row = (DGV.Rows.Count + 1).ToString();
if (File.Exists(filename))
{
File.Delete(filename);
}
Excel.Application oApp;
Excel.Worksheet oSheet;
Excel.Workbook oBook;
oApp = new Excel.Application();
oBook = oApp.Workbooks.Add();
oSheet = (Excel.Worksheet)oBook.Worksheets.get_Item(1);
int excelColumn = 2;
for (int dgvColumn = 0; dgvColumn < DGV.Columns.Count; dgvColumn++)
{
if (DGV.Columns[dgvColumn].Visible == true)
{
oSheet.Cells[1, excelColumn] = DGV.Columns[dgvColumn].HeaderText;
excelColumn++;
}
}
for (int i = 0; i < DGV.Rows.Count; i++)
{
excelColumn = 2;
for (int j = 0; j < DGV.Columns.Count; j++)
{
if (DGV.Columns[j].Visible == true)
{
oSheet.Cells[i + 2, excelColumn] = DGV.Rows[i].Cells[j].Value;
excelColumn++;
}
}
}
Range rng1 = oSheet.get_Range("A1", Range_Letter + "1");
rng1.Font.Size = 14;
rng1.Font.Bold = true;
rng1.Cells.Borders.LineStyle = XlLineStyle.xlDouble;
rng1.Cells.Borders.Color = System.Drawing.Color.DeepSkyBlue;
rng1.Font.Color = System.Drawing.Color.Black;
rng1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
rng1.Interior.Color = System.Drawing.Color.LightGray;
Range rng2 = oSheet.get_Range("A2", Range_Letter + Range_Row);
rng2.WrapText = false;
rng2.Font.Size = 12;
rng2.Cells.Borders.LineStyle = XlLineStyle.xlContinuous;
rng2.Cells.Borders.Color = System.Drawing.Color.DeepSkyBlue;
rng2.VerticalAlignment = XlVAlign.xlVAlignCenter;
rng2.Interior.Color = System.Drawing.Color.Azure;
rng2.EntireColumn.AutoFit();
rng2.EntireRow.AutoFit();
oSheet.get_Range("A1", Range_Letter + "2").EntireRow.Insert(XlInsertShiftDirection.xlShiftDown, Missing.Value);
oSheet.Cells[1, 3] = "ÖGRENCI LISTESI ";
Range rng3 = oSheet.get_Range("A1", Range_Letter + "2");
rng3.Merge(Missing.Value);
rng3.Font.Size = 16;
rng3.Font.Color = System.Drawing.Color.Blue;
rng3.Font.Bold = true;
rng3.VerticalAlignment = XlVAlign.xlVAlignCenter;
rng3.HorizontalAlignment = XlVAlign.xlVAlignCenter;
rng3.Interior.Color = System.Drawing.Color.LightSkyBlue;
oBook.SaveAs(filename);
MessageBox.Show("Your file is saved");
oBook.Close();
oApp.Quit();
}
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source = siniflisteleri25.accdb; Jet OLEDB:Database Password = Fatih2541; Mode = ReadWrite"))
{
string query = "SELECT tcno,ono,isim,soyisim,cinsiyet,sinifi,dtarihi,atel,btel from ogrencibilgileri25 where sinifi='" + ComboBox1.Text + " '";
OleDbCommand command = new OleDbCommand(query, conn);
conn.Open();
var adapter = new OleDbDataAdapter(command);
var table = new System.Data.DataTable();
adapter.Fill(table);
DGV.DataSource = table;
conn.Close();
}
}
private void tcnochk_CheckedChanged(object sender, EventArgs e)
{
DGV.Columns["tcno"].Visible = tcnochk.Checked;
}
private void dogchk_CheckedChanged(object sender, EventArgs e)
{
DGV.Columns["dtarihi"].Visible = dogchk.Checked;
}
private void atelchk_CheckedChanged(object sender, EventArgs e)
{
DGV.Columns["atel"].Visible = atelchk.Checked;
}
private void btelchk_CheckedChanged(object sender, EventArgs e)
{
DGV.Columns["btel"].Visible = btelchk.Checked;
}