vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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
Tipp 2146: Excel-Dateien einfach auslesem mit OleDB 
Autor: danieljena
 Tipp anzeigenDatum: 17.03.10 12:24

hallo,

den im betreff stehenden tipp finde ich sehr schön.
nur habe ich eine kleine frage:
ist es möglich die spaltenüberschriften nicht aus der zeile 1 sondern aus zeile 5 auszulesen?

mfg
danieljena
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: vbInsider
Datum: 18.03.10 16:01

Hallo danieljena,

fängt die Tabelle erst in Zeile 5 bei dir an? Und wenn ja, wieso?

Das könnte klappen, ersetze:
For i As Integer = 0 To columns.GetUpperBound(0) Step 1
hierdurch:
For i As Integer = 0 To columns.GetUpperBound(4) Step 1
Probieren geht über studieren, oder andersherum...

mfg

vb@rchiv iGoogle Gadget gibts hier:
http://www.google.de/ig/directory?q=vbarchiv&hl=de&root=%2Fig&dpos=top&url=gadgets.hemken.org/gadgets/vbarchiv/vbarchivnews.xml

Beitrag wurde zuletzt am 18.03.10 um 16:04:31 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: danieljena
Datum: 18.03.10 18:55

hallo,

ich habe eine einfache lösung gefunden:
ich schmeiße einfach die zeile aus der funktion ras, die mir die namen setzt.
und ganz am ende durchlaufe ich in einer schleife die spalten der datatable und setzte die spaltennamen anhand des inhaltes in der zeile 5.

mfg
danieljena
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: McGoy
Datum: 25.11.12 08:42

Hallo,

grandioser tipp. hat mir sehr geholfen.

ich habe nur eine kleine anmerkung:

müßte der aufruf nicht "xls2Datatable(..." anstatt "csv2Datatable(..." heißen?

grüße
mcgoy
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: danieljena
Datum: 13.01.14 10:30

Hallo,
ich hoffe hier kann mir einer weiterhelfen.
Bis vor kurzem funktionierte diese Funktion wunderbar, letzte woche bin ich auf MSO 2010 Pro umgestiegen und bekomme nun immer den Fehler "installiertes ISAM nicht gefunden" (beim versuch eine xls-Datei einzulesen).
Die Excel Datei wird mit Excel 2003 erstellt.
Jemand ne Idee?

mfg
danieljena
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: Manfred X
Datum: 13.01.14 12:10

Schau mal hier ....

http://social.msdn.microsoft.com/Forums/de-DE/320836cb-ee91-4218-8a2c-ad258af0d416/installierbares-isam-nicht-gefunden?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: danieljena
Datum: 25.11.15 17:53

Hallo smarki,
Was hast du den Für Versionen für Windows und Office, und sind diese 32 od 64-bit?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel-Dateien einfach auslesem mit OleDB 
Autor: smarki
Datum: 26.11.15 13:40

Hi,
ich hatte noch in einem anderen Forum gepostet und hier ist die Lösung:

https://social.msdn.microsoft.com/Forums/de-DE/f552e65b-b6b5-42d4-b39b-9d18dec600ee/oledbconnectionconnectionstring-fr-excel-2016?forum=visualbasicde
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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