
Dar formato al exportar DataGriedView a Excel
Publicado por Ruddy (2 intervenciones) el 09/12/2014 21:27:39
Hola, encontré un código para exportar los valores de una DataGridView a Excel, todo bien, pero mi jefe quiere que se agregue un espacio cuando una row cambia de valor, la consulta SQL está ordenada por usuarios, entonces por ejemplo lista 5 rows de "Pedrito" y cuando cambia a "Juanito" quiere que entre esas dos Rows quede un espacio en blanco, la verdad que no se como hacerlo, les dejo el código. Y que en ese espacio en blanco ponga cuantos "Juanito" listó. :/
(PD: VarGrillaRutina es una variable que toma el nombre de la DataGridView de turno, lo hice para no escribir el mismo código para cada grilla.)
Ojalá puedan ayudarme
GRACIAS!!!
(PD: VarGrillaRutina es una variable que toma el nombre de la DataGridView de turno, lo hice para no escribir el mismo código para cada grilla.)
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
'Rutina que genera un archivo Excel desde la DataGridView, VarGrillaRutina trae el valor de la grilla desde el boton "generar informe".
Public Sub Exportar_Excel(ByVal dgv As DataGridView, ByVal pth As String)
ProgressBarEjec.Visible = True
ProgressBarEjec.Value = 20
Dim xlApp As Object = CreateObject("Excel.Application")
'crear una nueva hoja de calculo
Dim xlWB As Object = xlApp.WorkBooks.add
Dim xlWS As Object = xlWB.WorkSheets(1)
ProgressBarEjec.Value = 40
'exportamos los caracteres de las columnas
For c As Integer = 0 To VarGrillaRutina.Columns.Count - 1
xlWS.cells(1, c + 1).value = VarGrillaRutina.Columns(c).HeaderText
Next
ProgressBarEjec.Value = 60
'exportamos las cabeceras de columnas
For r As Integer = 0 To VarGrillaRutina.RowCount - 1
For c As Integer = 0 To VarGrillaRutina.Columns.Count - 1
xlWS.cells(r + 2, c + 1).value = VarGrillaRutina.Item(c, r).Value
Next
Next
ProgressBarEjec.Value = 80
'guardamos la hoja de calculo en la ruta especificada
xlWB.saveas(pth)
xlWS = Nothing
xlWB = Nothing
xlApp.quit()
xlApp = Nothing
ProgressBarEjec.Value = 100
MessageBox.Show("Los datos han sido exportados satisfactoriamnete.", "Generador de Informes VidaCel",
MessageBoxButtons.OK, MessageBoxIcon.Information)
ProgressBarEjec.Visible = False
End Sub
Ojalá puedan ayudarme
GRACIAS!!!
Valora esta pregunta


0