Esportare il dataGridView in Excel con il formato di tutte le celle

Ho questo codice che so che funziona veloce

CopyAlltoClipboard(dataGridViewControl); Microsoft.Office.Interop.Excel.Application xlexcel; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlexcel = new Excel.Application(); xlexcel.Visible = true; xlWorkBook = xlexcel.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkSheet.Name = page.Name; Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1]; CR.Select(); xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true); ((Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Range["A1"]).EntireColumn.Delete(null); // delete the first column that has rows indexes xlWorkBook.SaveAs(fileName); private void CopyAlltoClipboard(DataGridView dataGridViewControl) { dataGridViewControl.SelectAll(); DataObject dataObj = dataGridViewControl.GetClipboardContent(); if (dataObj != null) Invoke((Action)(() => { Clipboard.SetDataObject(dataObj); })); } 

Il codice funziona bene, ma copia solo i valori è l’excel, non copia anche il formato delle celle (testo a capo, backcolor, font, bordi, ecc.) Qualcuno può aiutarmi su questo? Come completare questo codice hanno il formato esatto come in DataGridView?