Foros del Web » Programación para mayores de 30 ;) » .NET »

VB2005 Reportar tu base de datos en un Excel 2007

Estas en el tema de VB2005 Reportar tu base de datos en un Excel 2007 en el foro de .NET en Foros del Web. VB2005 Reportar tu base de datos en un Excel 2007 Ya digamos tengo una tabla simple en mi base de datos sql Nombre Apellidos Edad ...
  #1 (permalink)  
Antiguo 27/08/2010, 10:33
Avatar de cobossagrav  
Fecha de Ingreso: junio-2009
Ubicación: Cusco - Perú
Mensajes: 414
Antigüedad: 14 años, 10 meses
Puntos: 1
VB2005 Reportar tu base de datos en un Excel 2007

VB2005 Reportar tu base de datos en un Excel 2007

Ya digamos tengo una tabla simple en mi base de datos sql
  1. Nombre
  2. Apellidos
  3. Edad
  4. Dni

Quieren q use un archivo Excel 2007 como plantilla
E introducir en el todos los datos q tengo en la tabla de la base de datos
Me pueden ayudar por favor, nunca use el Excel para reportar desde mi Visual Basic 2005

Quisiera q me guíen por favor se los suplico…

Encontré este código pero no lo reconoce el vb2005 y tampoco lo comprendo del todo:

Cita:
En primer lugar, he creado una hoja de cálculo Excel 2007.
Nombre a un rango de celdas NameRng y la hoja de cálculo LookupLists y guarde todo como Data.xlsx.
Luego he creado una aplicación estándar de Windows y añadí una referencia a Microsoft Excel 12.0 Object library (clic derecho en el proyecto y agregue la referencia de la ficha COM).
Aquí está el código que funciona:
‘Importo interop excel
Imports Microsoft.Office.Interop.Excel

‘al carfar formulario:
Dim cPart As Range
'Dim cLoc As Range
Dim oExcel As Application = _
CreateObject("Excel.Application")
Dim oBook As Workbook = _
oExcel.Workbooks.Open( _
"C:\Users\ThisUser\Documents\Data.xlsx", , False)
Dim oSheet As Worksheet
oSheet = oBook.Worksheets("LookupLists")
' To find range in excel and send them to combo box(cboName)
For Each cPart In oSheet.Range("NameRng")
With Me.cboName
.Items.Add(cPart.Value)
'.AddItem(cPart.Value)
'.List(.ListCount - 1, 1) = cPart.Offset(0, 1).Value
End With
Next cPart
oBook.Close()
__________________
Saludos y Gracias.
  #2 (permalink)  
Antiguo 30/08/2010, 08:13
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 4 meses
Puntos: 22
Respuesta: VB2005 Reportar tu base de datos en un Excel 2007

En Excel te vas a la Datos, luego a De otras fuentes y ahi seleccionas SQL Server, le pones la información de la conexión y listo. Tambien puedes vincular otras bases de datos utilizando un controlador ODBC.

Saludos
  #3 (permalink)  
Antiguo 30/08/2010, 15:52
Avatar de cobossagrav  
Fecha de Ingreso: junio-2009
Ubicación: Cusco - Perú
Mensajes: 414
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: VB2005 Reportar tu base de datos en un Excel 2007

exelente con este dato:

Cita:
En Excel te vas a la Datos, luego a De otras fuentes y ahi seleccionas SQL Server, le pones la información de la conexión y listo.
con eso ya lo frique a mi profesor jajajaja chevere...

ya pero esta claro q me dira como lo haces desde codico desde tu proyadto en VB2005
supongo q hay entra lo del ODBC:

Cita:
Tambien puedes vincular otras bases de datos utilizando un controlador ODBC.
o no estoy en lo correcto, agradeceria una manito please...
__________________
Saludos y Gracias.
  #4 (permalink)  
Antiguo 30/08/2010, 17:02
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 4 meses
Puntos: 22
Respuesta: VB2005 Reportar tu base de datos en un Excel 2007

Lo que debes de hacer es construir un complemento para office que cargue la información que necesitas en un DataTable y luego mediante un ciclo ponerlo en la hoja del libro seleccionado. Lo del ODBC es para otras bases de datos como por ejemplo MySQL o cualquier otra que provea un conector de ese tipo.

Saludos

Etiquetas: excel, vb, reporte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.