private void ExportarDataGridViewExcel(DataGridView grd) { CultureInfo culture = new CultureInfo("es-ES"); grd.Columns[5].DefaultCellStyle.Format = "d"; SaveFileDialog fichero = new SaveFileDialog(); fichero.Filter = "Excel (*.xls)|*.xls"; String NombreRemesa = (Persistencia.SentenciasSQL.select("SELECT Remesa FROM com_remesas WHERE IdRemesa = " + id_remesa_cargado)).Rows[0][0].ToString(); String RutaComunidad = (Persistencia.SentenciasSQL.select("SELECT ctos_entidades.Ruta FROM ctos_entidades INNER JOIN com_comunidades ON ctos_entidades.IDEntidad = com_comunidades.IdEntidad WHERE(((com_comunidades.IdComunidad) = " + idComunidadCargado + "));")).Rows[0][0].ToString().Trim('#'); fichero.FileName = "REMESA " + NombreRemesa.ToUpper() + ".xls"; fichero.InitialDirectory = RutaComunidad; if (fichero.ShowDialog() == DialogResult.OK) { Microsoft.Office.Interop.Excel.Application aplicacion; Microsoft.Office.Interop.Excel.Workbook libros_trabajo; Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo; aplicacion = new Microsoft.Office.Interop.Excel.Application(); libros_trabajo = aplicacion.Workbooks.Add(); hoja_trabajo = (Microsoft.Office.Interop.Excel.Worksheet)libros_trabajo.Worksheets.get_Item(1); //Recorremos el DataGridView rellenando la hoja de trabajo for (int i = 0; i < grd.Rows.Count; i++) { for (int j = 0; j < grd.Columns.Count; j++) { if (j != 0) { if (j < 12) { if (j == 11) { hoja_trabajo.Cells[i + 2, j + 1] = grd.Rows[i].Cells[j].Value.ToString().Replace(',', '.'); } else if (j == 5) { hoja_trabajo.Cells[i + 2, j + 1] = Convert.ToDateTime(grd.Rows[i].Cells[j].Value).ToString("yyyy-MM-dd"); } else { hoja_trabajo.Cells[i + 2, j + 1] = grd.Rows[i].Cells[j].Value.ToString(); } } } } } Microsoft.Office.Interop.Excel.Range rcd1 = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["A1", "A30"])); rcd1.EntireColumn.Delete(); Microsoft.Office.Interop.Excel.Range format = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["A1", "A30"])); format.ClearFormats(); Microsoft.Office.Interop.Excel.Range rcd3 = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["F1", "F30"])); rcd3.EntireColumn.Delete(); Microsoft.Office.Interop.Excel.Range rcd2 = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["F1", "F30"])); rcd2.EntireColumn.Delete(); Microsoft.Office.Interop.Excel.Range rcd4 = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["F1", "F30"])); rcd4.EntireColumn.Delete(); Microsoft.Office.Interop.Excel.Range rcd5 = ((Microsoft.Office.Interop.Excel.Range)(hoja_trabajo.Range["F1", "F30"])); rcd5.EntireColumn.Delete(); Microsoft.Office.Interop.Excel.Range rcd8 = (hoja_trabajo.Range["A1", "A30"]); rcd8.EntireColumn.NumberFormat = "@"; Microsoft.Office.Interop.Excel.Range rcd9 = (hoja_trabajo.Range["E1", "E30"]); rcd8.EntireColumn.NumberFormat = "@"; try { libros_trabajo.SaveAs(fichero.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal); libros_trabajo.Close(true); aplicacion.Quit(); } catch (Exception e) { MessageBox.Show("Comprueba que el fichero esta cerrado " + e.Message); } } MessageBox.Show("Comprueba la fecha en el EXCEL"); }