Una funcion que te imprime lo que se ve en la pantalla: la funcion: "javascript:window.print()" llamado a traves de un href.
viernes, 21 de diciembre de 2012
martes, 5 de junio de 2012
Generar un excel con visual basic
Bueno, esta ves quisiera que sepan un poco como realizar una coneccion al excel desde .NET, especiicamente usando el lenguaje visual basic.
Para esto deben tener una librería en su proyecto, la librería se llama Interop.Excel (se los colgare en una entrada en este blog)
Imaginence tener su aplicacion de escritorio en visual basic y en su interface tienen una tabla cococida como dataGridView. A la siguiente función se le pasa un dataGridView y este lo baseara a un excel:
Private Sub generarExcel(ByVal dataGridView As DataGridView)
'creamos las 3 variables clasicas que sirven para trabajar con Excel
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
'nos introducimos a una excepcion por si tubieramos problemas y para dominarlas
Try
'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()
exHoja.Name = "DATOS"
'ojo: DATOS es el nombre de la pestaña u hoja del libro excel
' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = dataGridView.ColumnCount
Dim NRow As Integer = dataGridView.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(1, i) = dataGridView.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(1, i).HorizontalAlignment = 3
Next
For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 2, Col + 1) = dataGridView.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(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
'Aplicación visible
exApp.Application.Visible = True
exHoja = Nothing
exLibro = Nothing
exApp = Nothing
Catch ex As Exception
EstadoDeLaGeneracion = False
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
'Return False
End Try
End Sub
espero que les sirva... bendiciones.
Atte.
Kenny Caceres
Para esto deben tener una librería en su proyecto, la librería se llama Interop.Excel (se los colgare en una entrada en este blog)
Imaginence tener su aplicacion de escritorio en visual basic y en su interface tienen una tabla cococida como dataGridView. A la siguiente función se le pasa un dataGridView y este lo baseara a un excel:
Private Sub generarExcel(ByVal dataGridView As DataGridView)
'creamos las 3 variables clasicas que sirven para trabajar con Excel
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
'nos introducimos a una excepcion por si tubieramos problemas y para dominarlas
Try
'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()
exHoja.Name = "DATOS"
'ojo: DATOS es el nombre de la pestaña u hoja del libro excel
' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = dataGridView.ColumnCount
Dim NRow As Integer = dataGridView.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(1, i) = dataGridView.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(1, i).HorizontalAlignment = 3
Next
For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 2, Col + 1) = dataGridView.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(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
'Aplicación visible
exApp.Application.Visible = True
exHoja = Nothing
exLibro = Nothing
exApp = Nothing
Catch ex As Exception
EstadoDeLaGeneracion = False
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
'Return False
End Try
End Sub
espero que les sirva... bendiciones.
Atte.
Kenny Caceres
Suscribirse a:
Entradas (Atom)