CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 reportes en excel

(1/1)

Reinberg:
Hola,

Bueno pues les pido nuevamente ayuda esta ves tengo un problema en una aplicacion echa en vb.net 2005 en la cual estoy tratando de mandar reportes a excel.


--- Código: Text ---  Imports System.Data.OleDb Public Class Ppal    Inherits System.Windows.Forms.Form    Dim objex As New Excel.Application    Dim libro As Excel.Workbook    Dim hoja As Excel.Worksheet    Dim i As Integer = 9    Dim r As DataRow Private Sub MiembrosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MiembrosToolStripMenuItem.Click         Try            Dim cn As OleDbConnection = New OleDbConnection            Dim cs As String            cs = "Provider = Mcrosoft.JET.OLEDB.4.0; Data Source = " + Application.StartupPath(+"bd.mdb)")            Dim Da As OleDbDataAdapter            Dim tabla As DataTable            tabla = New DataTable("usuarios")            Dim sql As String            sql = "Select * From usuarios"              libro = objex.Workbooks.Open(Application.StartupPath + "plantillausuarios.xls")             [color=#FF0000]Da = New(sql, cn)[/color]            Da.Fill(tabla)            hoja = libro.Worksheets(1)            hoja.Cells(16, 2) = "Nombre"            hoja.Cells(16, 3) = "Apellido"            hoja.Cells(16, 4) = "Carrera"            hoja.Cells(16, 5) = "Campus"            hoja.Cells(16, 6) = "Expediente"            hoja.Cells(16, 7) = "Telefono"            hoja.Cells(16, 8) = "Correo"             For Each r In tabla.Rows                If tabla.Rows.Count > 0 Then                     libro.Worksheets(libro.Worksheets.Count).copy(libro.Worksheets.Count - 1)                    hoja.Activate()                    hoja.Cells(i, 2) = r.Item("Nombre.")                    hoja.Cells(i, 3) = r.Item("Apellido")                    hoja.Cells(i, 4) = r.Item("Carrera")                    hoja.Cells(i, 5) = r.Item("Campus")                    hoja.Cells(i, 6) = r.Item("Expediente")                    hoja.Cells(i, 7) = r.Item("Telefono")                    hoja.Cells(i, 8) = r.Item("Correo")                    hoja.Cells(i, 3) = r.Item(i - 8)                    i += 1                End If            Next            objex.Visible = True            objex = Nothing        Catch ex As Exception            MsgBox(ex.Message)        End Try     End Sub  
La linea que da el error esta en rojo, la cuestion es que sin las lineas del dataAdapter el codigo funciona correctamente y alponerlo se genera un error de tipo "Type expected" y pues la neta no tengo ni la menor idea de como resolverlo xD, espero me puedan ayudar.

gracias.
 :beer:

SysEdw:
hola estas oviando la conexion, esta es la correcto

--- Código: Text ---         Dim cn As OleDbConnection        Dim cs As String        Dim ds As DataSet        cs = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "bd.mdb"        cn = New OleDbConnection(cs)        cn.Open()        Dim Da As OleDbDataAdapter        Dim tabla As DataTable        tabla = New DataTable("usuarios")        Dim sql As String        ds = New Data.DataSet        sql = "Select * From usuarios"        libro = objex.Workbooks.Open(Application.StartupPath + "plantillausuarios.xls")        Da = New OleDbDataAdapter(sql, cn)        Da.Fill(ds, "usuarios")              hoja = libro.Worksheets(1)            hoja.Cells(16, 2) = "Nombre"            hoja.Cells(16, 3) = "Apellido"            hoja.Cells(16, 4) = "Carrera"            hoja.Cells(16, 5) = "Campus"            hoja.Cells(16, 6) = "Expediente"            hoja.Cells(16, 7) = "Telefono"            hoja.Cells(16, 8) = "Correo"             For Each r In tabla.Rows                If tabla.Rows.Count > 0 Then                     libro.Worksheets(libro.Worksheets.Count).copy(libro.Worksheets.Count - 1)                    hoja.Activate()                    hoja.Cells(i, 2) = r.Item("Nombre.")                    hoja.Cells(i, 3) = r.Item("Apellido")                    hoja.Cells(i, 4) = r.Item("Carrera")                    hoja.Cells(i, 5) = r.Item("Campus")                    hoja.Cells(i, 6) = r.Item("Expediente")                    hoja.Cells(i, 7) = r.Item("Telefono")                    hoja.Cells(i, 8) = r.Item("Correo")                    hoja.Cells(i, 3) = r.Item(i - 8)                    i += 1                End If            Next            objex.Visible = True            objex = Nothing   

Reinberg:
Hola SysEdw  gracias por responderme, me ha servido gracias de nuevo.

 :beer:   :hitcomp:   :beer:   :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa