Visual Basic.NET - CAPTURAR ENCABEZADO DE GRILLA

 
Vista:

CAPTURAR ENCABEZADO DE GRILLA

Publicado por MANUEL (10 intervenciones) el 22/06/2005 22:52:53
HOLA NECESITO CAPTURAR EL ENZABEZADO DE UNA GRILLA PARA PASARLA A EXCEL, ¿COMO PUEDE OBTENER EL ENCABEZADO?, ESPERO ME AYUDEN
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CAPTURAR ENCABEZADO DE GRILLA

Publicado por Harold (411 intervenciones) el 22/06/2005 23:11:07
'Aqui tienes como pasar los datos de vb a excel incluye el nombre de los campos..... espero sea lo que buscas, mejore tu codigo........

Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim variable As String
Dim fila, Columna, numcol, x As Integer
Dim myTable As DataTable
Dim FilaExcel As Integer = 2

Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click

'xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
Try
Me.Cursor = Cursors.WaitCursor
myTable = CType(DataGrid1.DataSource, DataTable) 'obtengo la estructura del datagrid
numcol = myTable.Columns.Count
For x = 1 To numcol
xlSheet.Cells(1, x).Font.Bold = True
xlSheet.Cells(1, x).Font.Size = 11
xlSheet.Cells(1, x).Font.Name = "Arial"
Next

For fila = 0 To myTable.Rows.Count - 1 ' numero de filas
For Columna = 0 To myTable.Columns.Count - 1 ' numero de columnas
xlSheet.Cells(1, Columna + 1).value = myTable.Columns(Columna).ColumnName ' nombre de cada columna del grid
If IsNumeric(DataGrid1.Item(fila, Columna).ToString) Then
variable = Convert.ToString(DataGrid1.Item(fila, Columna))
ElseIf IsNumeric(DataGrid1.Item(fila, Columna).ToString) Then
variable = Convert.ToString(DataGrid1.Item(fila, Columna))
ElseIf IsDate(DataGrid1.Item(fila, Columna).ToString) Then
variable = Convert.ToString(Format(DataGrid1.Item(fila, Columna), "Short Date")) ' convierte la fecha en formato 22/11/77
ElseIf IsDBNull(DataGrid1.Item(fila, Columna).ToString) Then
variable = ""
Else
variable = Convert.ToString(DataGrid1.Item(fila, Columna))
End If
xlSheet.Cells(FilaExcel, Columna + 1).value = variable
Next
FilaExcel += 1
Next
xlSheet.Columns.AutoFit()
'Se exporta la hoja Excel cargada en el objeto oExcel a un archivo .XLS
Dim SaveDialog = New SaveFileDialog
SaveDialog.DefaultExt = "*.xls"
SaveDialog.Filter = "(*.xls)|*.xls"
If SaveDialog.ShowDialog = DialogResult.OK Then
Try
xlSheet.SaveAs(SaveDialog.FileName)
Me.Cursor = Cursors.Default
MessageBox.Show("Documento Guardado Como : " & SaveDialog.FileName, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information)
xlBook.Close()
xlApp.Quit()
xlApp = Nothing
Catch ex As Exception
MessageBox.Show("No se Puede Procesar, El Archivo puede que se encuentre abierto, Verifique")
End Try
End If
Catch ex As System.NullReferenceException
MsgBox(ex.Message)
Me.Cursor = Cursors.Default
Exit Sub
End Try

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar