El siguiente código exporta una grilla DataGridView a un
archivo Excel, el objeto dgvLog es el nombre de la grilla que se tiene en el
formulario. Para este método se usa la librería
Microsoft.Office.Interop.Excel.dlltry
{
if (dgvLog.DataSource != null)
{
SaveFileDialog fichero = new SaveFileDialog();
fichero.Filter = "Excel (*.xls)|*.xls";
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);
//exportar cabeceras dgvLog
for (int i = 1; i <= this.dgvLog.Columns.Count; i++)
{
hoja_trabajo.Cells[1, i] = this.dgvLog.Columns[i - 1].HeaderText;
}
//Recorremos el DataGridView rellenando la hoja de trabajo con los datos
for (int i = 0; i < this.dgvLog.Rows.Count - 1; i++)
{
for (int j = 0; j < this.dgvLog.Columns.Count; j++)
{
hoja_trabajo.Cells[i + 2, j + 1] = this.dgvLog.Rows[i].Cells[j].Value.ToString();
}
}
libros_trabajo.SaveAs(fichero.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libros_trabajo.Close(true);
aplicacion.Quit();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
que tal!!. el código de exportar cabeceras lo copie y pegue en el mio, pero, no o me exporta las cabeceras o me exporta las celdas de abajo.... copie todo tu código y da igual, solo exporta las cabeceras...
ResponderEliminarmi grilla solo tiene la cabecera, y una fila abajo
puedes mostar el código de la grilla
ResponderEliminarhola! como podrias ponerle dos cabeceras extras q tenga un titulo y un nombre por ejemplo?
ResponderEliminarEl código toma tal cual esté en la tabla grid y lo exporta, podrías editarla antes de pasarla a este código, como si fuera un table.
ResponderEliminarGracias por el aporte ..te pasastes
ResponderEliminar