17/11/2010, 21:50
|
| | | Fecha de Ingreso: junio-2010 Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses Puntos: 267 | |
Respuesta: Automatizar v.b 2010 con excel Hola, en internet hay muchos ejemplos de como hacer reporte en vb.net, pero bueno colaborandote te dejo 1: Primero creamos la conexión a la base de datos SQL Server 2000• Creamos una Clase = Conexion.vb
Código:
Imports System.Data.SqlClient
Public Class conexion
'Variables
Public build As New SqlConnectionStringBuilder
Public cnn As New SqlConnection(build.ConnectionString)
Public Sub conexion()
build = New SqlConnectionStringBuilder
With build
.DataSource = "(Local)"
.InitialCatalog = "Northwind"
.IntegratedSecurity = True
End With
cnn = New SqlConnection(build.ConnectionString)
Try
cnn.Open()
Catch ex As Exception
MsgBox("Error: " & ex.Message, MsgBoxStyle.Critical)
liberarTodo()
Exit Sub
End Try
End Sub
Public Sub liberarTodo()
cnn.Close()
End Sub
End Class
________________________________________ Segundo En el WebForm Ponemos el siguiente codigo
Código:
Imports Microsoft.Office.Interop
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim vconexion As New Conexion
Dim m_Excel As Excel.Application
Dim CategoryName As String 'Variable para controlar la ruptura por nombre de categorías
Dim objLibroExcel As Excel.Workbook 'Creamos un objeto WorkBook
Dim objHojaExcel As Excel.Worksheet 'Creamos un objeto WorkSheet
Dim objDataSet As New Data.DataSet("ExcelTest")
Dim i As Integer = 5
Protected Sub BtnCrear_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnCrear.Click
vconexion.conexion()
Dim objSQLAdapter As New SqlDataAdapter("SELECT CategoryName,ProductID,ProductName,UnitPrice FROM Products,Categories WHERE Products.CategoryID = Categories.CategoryID ORDER BY Categories.CategoryID", vconexion.cnn)
Dim objDataSet As New Data.DataSet("ExcelTest")
objSQLAdapter.Fill(objDataSet, "Categories")
m_Excel = New Excel.Application
m_Excel.Visible = True
objLibroExcel = m_Excel.Workbooks.Add()
objHojaExcel = objLibroExcel.Worksheets(1)
objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
objHojaExcel.Activate()
objHojaExcel.Range("A1:G1").Merge()
objHojaExcel.Range("A1:G1").Value = "Ejemplo de Como Hacer Reportes de Excel en VB.NET"
objHojaExcel.Range("A1:G1").Font.Bold = True
objHojaExcel.Range("A1:G1").Font.Size = 15
objHojaExcel.Range("A2:D2").Merge()
objHojaExcel.Range("A2:D2").Value = "By:alex19910218"
objHojaExcel.Range("A2:D2").Font.Italic = True
objHojaExcel.Range("A2:D2").Font.Size = 13
objHojaExcel.Range("A4").Value = "Categoría"
objHojaExcel.Range("A4").Font.Bold = True
objHojaExcel.Range("A4").Font.Size = 12
objHojaExcel.Range("B4").Value = "Código"
objHojaExcel.Range("B4").Font.Bold = True
objHojaExcel.Range("B4").Font.Size = 12
objHojaExcel.Range("C4").Value = "Nombre"
objHojaExcel.Range("C4").Font.Bold = True
objHojaExcel.Range("C4").Font.Size = 12
objHojaExcel.Range("D4").Value = "Precio RD$"
objHojaExcel.Range("D4").Font.Bold = True
objHojaExcel.Range("D4").Font.Size = 12
CategoryName = ""
For Each objRow As Data.DataRow In objDataSet.Tables(0).Rows
CategoryName = objRow.Item(0)
objHojaExcel.Cells(i, "A") = objRow.Item(0) 'CategoryName'
objHojaExcel.Cells(i, "B") = objRow.Item(1) 'ProductID'
objHojaExcel.Cells(i, "C") = objRow.Item(2) 'ProductName'
objHojaExcel.Cells(i, "D") = objRow.Item(3) 'UnitPrice'
i += 1
Next
End Sub
End Class |