none
la tabla externa no tiene el formato esperado RRS feed

  • Pregunta

  • Hola de nuevo a todos.

    Me esta ocurriendo algo un poco raro, me explico, tengo un función en la que cargo un DataTable desde un archivo Excel. El tema está en que un archivo funciona perfectamente, pero con otro al hacer el OPEN me da el error "la tabla externa no tiene el formato esperado".

    No entiendo porque un archivo lo abre bien pero en otro no.

    (en cbxHojasImport.Text en el primer archivo se llama 'Sheet 1' y en el segundo 'Sheet' )

    lo raro es que esta mañana funcionaba bien y esta tarde ha dejado de funcionar ¿?

    El siguiente código es el que estoy utilizando.

    Private Sub ImportarArchivoExcel()
          Cursor = Cursors.WaitCursor
          Dim stConexion As String = String.Empty
          stConexion = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & txtArchivoImport.Text & ";Extended Properties='Excel 12.0;Xml;HDR=YES'"
          Dim cnConex As New OleDbConnection(stConexion)
    
          'Cargamos en un DataTable, la hoja de excel 
          Dim Cmd As New OleDbCommand("SELECT * FROM [" & cbxHojasImport.Text & "$]", cnConex)
          Ds = New DataSet
          Dim Da As New OleDbDataAdapter
          DtExportExcel = New DataTable
          Try
             If cnConex.State = ConnectionState.Open Then cnConex.Close()
             cnConex.Open()   AQUI ES DONDE DA EL ERROR
             Cmd.Connection = cnConex
             Da.SelectCommand = Cmd
             Da.Fill(Ds)
             DtExportExcel = Ds.Tables(0)
             cnConex.Close()
             Dim bsExcel As BindingSource = New BindingSource
             bsExcel = New BindingSource With {
                .DataSource = DtExportExcel
             }
             CambiarHeaderDataTable()
             nvg.BindingSource = bsExcel  'Enlazamos la barra de navegación a la tabla de datos.
             PropiedadesDgv(bsExcel)
             ExportarDatos()
          Catch ex As Exception
             AtencionMensaje(ex.Message)
          Finally
             cnConex.Close()
          End Try
          Cursor = Cursors.Default
       End Sub
    

    miércoles, 14 de abril de 2021 14:07

Respuestas

  • Bueno después de mucho investigar, parece ser que el problema viene en la primera fila del archivo donde hay caracteres no reconocibles por Excel. Si abro el archivo y quito dichos caracteres, entonces si funciona bien.

    un saludo a todos.

    • Marcado como respuesta EricRRModerator viernes, 30 de abril de 2021 22:16
    viernes, 16 de abril de 2021 6:54

Todas las respuestas

  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    miércoles, 14 de abril de 2021 17:47
    Moderador
  • Bueno después de mucho investigar, parece ser que el problema viene en la primera fila del archivo donde hay caracteres no reconocibles por Excel. Si abro el archivo y quito dichos caracteres, entonces si funciona bien.

    un saludo a todos.

    • Marcado como respuesta EricRRModerator viernes, 30 de abril de 2021 22:16
    viernes, 16 de abril de 2021 6:54