vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: smarki
Datum: 25.11.15 14:06

Hallo zusammen,

ich nutze folgenden Code und unter Office 2016 funktioniert bei mir der ConnectionString "Provider=Microsoft.ACE.OLEDB.12" nicht mehr.

Ich habe mal die Varianten "Provider=Microsoft.ACE.OLEDB.15" und "Provider=Microsoft.ACE.OLEDB.16" ausprobiert aber nichts funktioniert.

Anstatt einer Connection bekomme ich die Fehlermeldung: "Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert.


Imports System.IO
Imports System.Data.OleDb
Function xls2Datatable(ByVal Dateiname As String, ByVal Blattname As String) As _
  DataTable
  If File.Exists(Dateiname) = False Then Return Nothing
 
  Dim FileInfo As FileInfo = New FileInfo(Dateiname)
  Dim DT As New DataTable
 
  Dim oConn As OleDbConnection = New OleDbConnection
  If Dateiname.Contains(".xlsx") Then
    oConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
      "Data Source=" & Dateiname & ";" & _
      "Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
  Else
    oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & Dateiname & ";" & _
      "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
  End If
  oConn.Open()
 
  Dim cmd As OleDbCommand
  cmd = New OleDbCommand("SELECT * FROM [" & Blattname & "$]", oConn)
 
  Dim reader As OleDbDataReader = cmd.ExecuteReader( _
    CommandBehavior.KeyInfo Or CommandBehavior.CloseConnection)
  Dim schema As DataTable = reader.GetSchemaTable()
  Dim columns(schema.Rows.Count - 1) As DataColumn
  Dim column As DataColumn
 
  ' Build the schema for the table that will contain the data.
  For i As Integer = 0 To columns.GetUpperBound(0) Step 1
    column = New DataColumn
    With column
      .AllowDBNull = CBool(schema.Rows(i)("AllowDBNull"))
      .AutoIncrement = CBool(schema.Rows(i)("IsAutoIncrement"))
      .ColumnName = CStr(schema.Rows(i)("ColumnName"))
      .DataType = CType(schema.Rows(i)("DataType"), Type)
 
      If .DataType Is GetType(String) Then
        .MaxLength = CInt(schema.Rows(i)("ColumnSize"))
      End If
 
      .ReadOnly = CBool(schema.Rows(i)("IsReadOnly"))
      .Unique = CBool(schema.Rows(i)("IsUnique"))
    End With
    columns(i) = column
  Next i
 
  Dim data As New DataTable
  Dim row As DataRow
 
  data.Columns.AddRange(columns)
 
  ' Get the data itself.
  While reader.Read()
    row = data.NewRow()
 
    For i As Integer = 0 To columns.GetUpperBound(0)
      row(i) = reader(i)
    Next i
 
    data.Rows.Add(row)
  End While
 
  reader.Close()
  oConn.Close()
 
  Return data
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp 2146: Excel-Dateien einfach auslesem mit OleDB5.776danieljena17.03.10 12:24
Re: Excel-Dateien einfach auslesem mit OleDB3.001vbInsider18.03.10 16:01
Re: Excel-Dateien einfach auslesem mit OleDB2.750danieljena18.03.10 18:55
Re: Excel-Dateien einfach auslesem mit OleDB2.512McGoy25.11.12 08:42
Re: Excel-Dateien einfach auslesem mit OleDB2.304danieljena13.01.14 10:30
Re: Excel-Dateien einfach auslesem mit OleDB2.321Manfred X13.01.14 12:10
Re: Excel-Dateien einfach auslesem mit OleDB1.971smarki25.11.15 14:06
Re: Excel-Dateien einfach auslesem mit OleDB1.976danieljena25.11.15 17:53
Re: Excel-Dateien einfach auslesem mit OleDB1.989smarki26.11.15 13:40

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel