Exportar DataGridView a Excel 2007
Publicado por Felipe (6 intervenciones) el 03/01/2018 18:24:56
Buen dia miembros de la web del programador, actualmente estoy trabajando en un pequeño proyecto en donde quiero exportar todos los datos de un DataGridView a un archivo de Excel, tengo casi todo resuelto el unico inconveniente es que no me exporta la ultima columna que corresponde a fechas y tampoco guarda todos los encabezados, he estado experimentando un poco con los valores pero sigo sin obtener el resultado que busco. Espero que alguien pueda apoyarme con esta situacion. Les anexo imagenes del DGV y del archivo Excel resultado, asi como tambien del codigo que estoy utilizando para exportar.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
private void pictureBox1_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog fichero = new SaveFileDialog();
fichero.Filter = "Excel (*.xls)|*.xls";
fichero.FileName = "";
if (fichero.ShowDialog() == DialogResult.OK)
{
Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook libro = app.Workbooks.Add(Type.Missing);
Microsoft.Office.Interop.Excel._Worksheet hoja = null;
app.Visible = true;
hoja = libro.Sheets["Hoja1"];
hoja = libro.ActiveSheet;
for (int i = 1; i < verSalidas.Rows.Count - 1; i++)
{
hoja.Cells[1, i] = verSalidas.Columns[i - 1].HeaderText;
}
for (int i = 0; i < verSalidas.Rows.Count - 1; i++)
{
for (int j = 0; j < verSalidas.Columns.Count - 1; j++)
{
if (verSalidas.Rows[i].Cells[j].Value != null)
{
hoja.Cells[i + 2, j + 1] = verSalidas.Rows[i].Cells[j].Value.ToString();
}
else
{
hoja.Cells[i + 2, j + 1] = "";
}
}
}
libro.SaveAs(fichero.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libro.Close(true);
app.Quit();
}
}
catch (Exception ex)
{
MessageBox.Show("el archivo no se pudo guardar debido a: " + ex.ToString());
}
}


Valora esta pregunta


0