Progress Bar
Publicado por Adrian (8 intervenciones) el 17/11/2009 13:55:04
Hola, tengo la sig. Funcion que la llamo desde un boton
Function GridAExcel(ByVal ElGrid As DataGridView) As Boolean
'Creamos las variables
Dim exApp As New Microsoft.Office.Interop.Excel.Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
Try
'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()
' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = ElGrid.ColumnCount
Dim NRow As Integer = ElGrid.RowCount
'Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(6, i) = ElGrid.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(6, i).HorizontalAlignment = 3
Next
For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 7, Col + 1) = ElGrid.Rows(Fila).Cells(Col).Value
Next
Next
'Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(6).Font.Bold = 1
exHoja.Rows.Item(6).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
'Aplicación visible
exApp.Application.Visible = True
exHoja = Nothing
exLibro = Nothing
exApp = Nothing
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
Return False
End Try
Return True
End Function
La funcion me exporta el DataGridView a un libro de Excel, lo que necesitaria es agregar un Progress Bar al formulario dependiendo de lo que tarde en exportarse el DataGridView al Excel. Alguien me podria pasar codigo para realizarlo.
Otra pregunta tambien, alguien sabe que le podria agregar a la funcion para que cuando se abra la hoja de Excel lo haga por delante del formulario y no por detras del mismo.
Muchas gracias
Function GridAExcel(ByVal ElGrid As DataGridView) As Boolean
'Creamos las variables
Dim exApp As New Microsoft.Office.Interop.Excel.Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
Try
'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()
' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = ElGrid.ColumnCount
Dim NRow As Integer = ElGrid.RowCount
'Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(6, i) = ElGrid.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(6, i).HorizontalAlignment = 3
Next
For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 7, Col + 1) = ElGrid.Rows(Fila).Cells(Col).Value
Next
Next
'Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(6).Font.Bold = 1
exHoja.Rows.Item(6).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
'Aplicación visible
exApp.Application.Visible = True
exHoja = Nothing
exLibro = Nothing
exApp = Nothing
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
Return False
End Try
Return True
End Function
La funcion me exporta el DataGridView a un libro de Excel, lo que necesitaria es agregar un Progress Bar al formulario dependiendo de lo que tarde en exportarse el DataGridView al Excel. Alguien me podria pasar codigo para realizarlo.
Otra pregunta tambien, alguien sabe que le podria agregar a la funcion para que cuando se abra la hoja de Excel lo haga por delante del formulario y no por detras del mismo.
Muchas gracias
Valora esta pregunta


0