Kann man EXCEL-Tabellen einlesen?

EXCEL-Tabellen mit Scopeland einlesbar?

  • Gefällt
Antwort

Ja. Excel ist ja nach wie vor ein beliebtes Tool und oft werden Excel-Tabellen so komplex, dass man dann eher ein richtiges Datenbankwerkzeug benötigt. Scopeland importiert Excel-Tabellen (ab Excel 2003 und ab Scopeland 5.1) zunächst in eine Datenbank als einen großen Wert. Da seit Office 2003 die Dateien als gezippte XML-Daten vorliegen, kann Scopeland natürlich super gut damit umgehen – XML ist ja prächtig geeignet, um Daten zu beschreiben und das mag Scopeland ja am liebsten! 😉

  • Gefällt
Antwort
Abbruch

Scopeland kann sehr schnell und einfach (und vor allem ohne das sonst umständlich einzurichtende ODBC oder die extrem langsame OLE Automation) EXCEL-Tabellen importieren. Man kann diese Daten dann einfach als XML-Datenquelle mit Scopeland weiter bearbeiten oder sie direkt in einer eigenen Tabelle in der Datenbank ablegen. Die „Gegenrichtung“ funktioniert dann natürlich genauso komfortabel und schnell…

  • Gefällt
Antwort
Abbruch

Ich verzweifele gerade am Import aus einer Excel-Datei (xlsx) 😕

Ich habe im Direct Desk eine neue Tabelle angelegt. Diese wollte ich mit den Daten aus Excel befüllen.

Dazu bin ich im Datenbank-Menü auf „Neue Tabelle“ > „Sonstige Tabelle einfügen“ > „Import aus externer Datenquelle“ gegangen.

Im Import-Fenster habe ich auf „Verbinden“ geklickt und habe in der  Auswahl der Datenquelle den Eintrag „Excel Files“ aus den Computerdatenquellen gewählt.

Nachdem ich mich zur Excel-Datei „durchgehangelt“ habe, wählte ich die Option „Daten importieren / Daten hinzufügen“ aus.

Nach Klick auf „Import“ erhalte ich nun jedesmal den Fehler „Datensatz 1 wurde nicht eingefügt! Fehler -1. ORA-01722: Ungültige Zahl“ 😒

Hat jemand für mich einen Tipp, wo es haken könnte?

Dank & Gruß, Rookie

Hier wird von Scopeland offenbar noch ein alter Treiber verwendet, daher bitte die Excel-Tabelle zuvor als „xls“ abspeichern.
Die Tabelle wird beim Import, wo man auswählen kann, ob in Scopeland nur die Struktur erzeugt oder auch gleich Daten importiert werden sollen, auch gleich neu erstellt (trägt im Namen dann ein Dollarzeichen), d.h., man braucht zuvor keine Tabelle extra mit Scopeland anzulegen. Dies ist also der Weg, um erstmalig aus einem Altbestand (Excel) eine Übernahme nach Scopeland vorzunehmen. Achtung beim Import: Da ist im Dialogfenster unbedingt auf die richtige Zieldatenbank zu achten, sonst landet die Tabelle nicht in der Fachdatenbank, sondern in der Metadatenbank.
Für spätere Wiederholungsimporte innerhalb der Anwendung verwendet man besser die weiter oben im Forum beschriebenen Wege, d.h. über eine auf einer bestehenden Tabelle aufbauende Schnittstelle mit generierter strukturierter Importvorlage (Menüpunkt „Entwickeln – Neu – Schnittstelle“). Dieser Weg ist meines Wissens auch ganz gut im Anwenderhandbuch beschrieben, Funktioniert ähnlich wie „Druckausgabe…“, nur eben nicht nur für den Read-Only-Export von Daten, sondern auch für den Import.

Hallo, Pegasus,

vielen Dank für Deine Lösung. Der kombinierte Weg, Excel-Daten zu importieren und die Tabelle anzulegen, hat geklappt 🙂

Jedoch hat Scopeland dabei keinen Primärschlüssel angelegt. Kann ich der Tabelle nachträglich einen PK spendieren?

Gruß, Rookie

Nachbearbeitung der Tabellenstruktur:
Ja, was da entstanden ist, sind erst mal nur „Roh-Metadaten“, die man nun präzisieren sollte. Die meisten Felder sind ja auch als VARCHAR(250) angelegt, weil dazu keine klaren Informationen aus Excel auslesbar waren.
Als am besten Tabelle devalidieren, dann die Feldliste nachbearbeiten, anschließen validieren (Strukturbeschreibung physisch auf der DB umsetzen). Dabei taucht ein Zwischendialog auf, der auf Wunsch die Details der Änderungen (vorher/nachher-Vergleich) auflistet. Problematische Felder kann man an dieser Stelle auch erst mal von der Validierung ausnehmen.
Es muss nicht zwingend ein PK im Sinne eines Primary-Foreign-Key-Constraints erzeugt werden. Es reicht zunächst, das gewünschte Hauptschlüsselfeld auf NULL=0 (Pflichtfeld), Index=2 (Unique Index) und UK=1 (das ist das Signal für den Scopeland-Client, sich an diesem Feld als PK-Feld zu orientieren).

Mehr Antworten anzeigen
  • Gefällt
Antwort
Abbruch

Danke für die Hilfe, Pegasus 👍

  • Gefällt
Antwort
Abbruch