AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO, Excel, falsches Format
Thema durchsuchen
Ansicht
Themen-Optionen

ADO, Excel, falsches Format

Ein Thema von TPeterT · begonnen am 14. Dez 2005 · letzter Beitrag vom 14. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#1

ADO, Excel, falsches Format

  Alt 14. Dez 2005, 07:56
Datenbank: Excel • Version: XP • Zugriff über: ADO
Hallo!

Versuche mittels ADO auf eine Excel-Datei zuzugreifen.
Habe bereits in mehreren Beiträgen gelesen, dass dies auch funktionieren soll.
Allerdings erhalte ich immer die Fehlermeldung:
"Exception der Klasse EOleException: Die externe Tabelle hat nicht das erwartete Format..."

Mein Code (Datei ist der Pfad + Dateiname des Excelfiles):
Delphi-Quellcode:
      ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
             'Provider=Microsoft.Jet.OLEDB.4.0; ' +
             'Data Source=' + Datei + ';' +
             'Extended Properties=Excel 8.0; ' +
             'Persist Security Info=False';

      ADOConnection.Open;
An der Datei wird es warscheinlich nicht liegen, da ich mehrere verschiedene versucht habe.

Woran könnte das liegen?

Danke und liebe Grüsse
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:09
Hallo,
da der ConnectionString korrekt aussieht würde evt. helfen, wenn Du uns das SELECT-Statement zeigen würdest.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#3

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:13
Hallo Jens!
Danke für die schnelle Antwort!

Jetzt bin ich allerdings etwas überfordert: SQL-Statement vor dem Öffnen der Connection?
Den Fehler erhalte ich nämlich schon beim "ADOConnection.Open;"

Die Daten aus Excel möchte ich jedenfalls in ein cxMemData lesen.
Wo gehört das SQL-Statement hin? Wie sollte das lauten?

Danke und liebe Grüsse
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:25
Zitat von TPeterT:
Jetzt bin ich allerdings etwas überfordert: SQL-Statement vor dem Öffnen der Connection?
Den Fehler erhalte ich nämlich schon beim "ADOConnection.Open;"
Puh - das hätte ich jetzt nicht erwartet. Hast Du Excel auf dem Rechner installiert?
Hast Du Access auf dem Rechner? Das frage ich, weil mit Access die auf jeden Fall die Jet-Engine
mit installiert wird. Wenn nicht, musst Du evt die Jet-Engine installieren.

Zitat von TPeterT:
Die Daten aus Excel möchte ich jedenfalls in ein cxMemData lesen.
Wo gehört das SQL-Statement hin? Wie sollte das lauten?
Ein SELECT Statement für eine Exceltabellen könnte wie folgt aussehen
SELECT * FROM tablle1$ Hier wird aus einer Excelarbeitsmappe das Tabellenblatt Tabelle1 abgefragt.
Achtung: Das $ Zeichen ist in Excel nicht Bestandteil des Tabellenblattnamens muss aber für die SQL-Abfrage an den Tabellenblattnamen angehängt werden.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#5

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:39
Hallo Jens!
Ja - Excel und Access ist installiert, die Jet-Engine dadurch eigentlich auch...
Eine Verbindung zu einer Access-Datei mittels ADO ist ohne Probleme möglich.

Hmm.. Das Select-Statement benötige ich ja trotzdem erst, wenn ich mal die Verbindung aufgebaut habe. Zum Aufbauen der Verbindung ist es ja noch nicht nötig (oder sehe ich das falsch?)!

Wenn ich bei der ADO-Connection versuche "manuell" den ConnectionString anzulegen - Microsoft Jet 4.0 OLE DB Provider wähle und bei Verbindung dann "..." wähle gibt er mir als mögliche Dateiendungen ausschliesslich *.mdb vor - dh ich muss "alle Dateien anzeigen, um auch excel auswählen zu können - bei Verbindung testen kommt dann natürlich wieder die oa Fehlermeldung (Nicht erkennbares Dateiformat...)... kann hier irgendwo der Fehler liegen?

Danke und liebe Grüsse
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#6

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:44
Hallo,
da jetzt ratlos bin zeige ich Dir den Connectionstring den ich für Excel verwende.
Code:
sExcelConnectionString ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"';
%S wird mit Format durch den Dateinamen der Exceldatei ersetzt.

Du hast in Deinem Connectionstring 2* Provider=Microsoft.Jet.OLEDB.4.0 stehen. Evt ist das ja ein Problem.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#7

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 08:49
Hallo!

neee.. leider das selbe Problem!
na dann such ich mal weiter

Danke und liebe Grüsse
Peter
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 11:23
Du kannst nicht einfach irgendeine Excel-Datei nehmen und erwarten, dass sich die Daten mit ADO auslesen lassen.
Du musst dir zuerst eine Testdatei herstellen: neue Excel-Datei mit 3 Spalten und 10 Zeilen; die beiden unbenützten Worksheets löschen.
Andreas
  Mit Zitat antworten Zitat
TPeterT

Registriert seit: 17. Dez 2003
84 Beiträge
 
Delphi 7 Professional
 
#9

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 11:36
ich kann die excelfiles nicht manuell bearbeiten vor dem import in "delphi".. die excelfiles werden automatisch generiert...
weiss jetzt aber auch nicht genau was das mit dem problem zu tun hat, dass ich keine connection herstellen kann..
wie meinst du das?
liebe grüsse
peter
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: ADO, Excel, falsches Format

  Alt 14. Dez 2005, 11:53
Zitat von TPeterT:
ich kann die excelfiles nicht manuell bearbeiten vor dem import in "delphi".. die excelfiles werden automatisch generiert...
weiss jetzt aber auch nicht genau was das mit dem problem zu tun hat, dass ich keine connection herstellen kann..
wie meinst du das?
Wie gehst du vor, wenn du ein Problem hast ??
Doch wohl hoffentlich so wie Mr. Spock von der Enterprise: logisch und Schritt für Schritt.
Symtom: Du kannst eine bestimmte Excel-Datei "X" nicht mit ADO öffnen.

Mr. Spock würde nun mit Excel eine Testdatei erstellen und prüfen, ob er mit ADO draufkommt.
Falls ja: die Excel-Datei "X" ist defekt oder nicht kompatibel
Falls nein: ADO oder die Treiber sind defekt oder Mr. Spock hat einen Fehler im Connectionstring

Wenn Mr. Spock wüsste, das die Excel-Datei nicht direkt von der Excel-Anwendung erzeugt werden, sondern "automatisch generiert" werden, was würde er dann messerscharf schliesen ??
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz