XLS Datei einlesen

Begonnen von Frischling, 06. Mai 2010, 12:35:11

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Frischling

Ich habe gesehen das ihr euch mit dem Thema XML einlesen schon beschäftigt habt.
Ich möchte Daten bzw. Koordinaten aus einer Excel datei einlesen.
Habt ihr schon was in der Richtung geplant oder eine Idee wie ich das lösen kann?

peewit

hallo

das einfachste ist, wenn du die daten von excel als csv-daten speicherst, dann ist das öffnen als datei und einlesen der daten auf kein grossen hindernis mehr.

mfg peewit

Frischling

Danke für deine Anwort peewit,
hilft mir aber leider noch nicht viel weiter kannst du das bitte näher erläutern!

peewit

du solltest deine aufgabe bzw deine wünsche genauer schildern...
ansonsten werden sich unsere gedanken niemals annähern


Frischling

Hallo!

ich brauche ein FB dem ich sagen kann z.B. lade ab Zeile x bis Zeile y aus SPALTE A B UND C und schreibe diese geordnet nach Zeilen in ein Array so ungefähr sollte es funktionieren. Spalten eventuell variabel halten.

so könnte ich es brauchen mir fehlt aber noch Idee und wahrscheinlich auch wissen um es allein zu lösen

peewit

direkt ein excel-format *.xls zu verarbeiten kannst du vergessen (zu komplex)
jedoch wenn du vorher dein excel-sheet als *.csv abspeichert, dann sehe ich keine allzu grossen hürden

wohher weisst du denn welche zeilen du benötigst ?

Frischling

Hallo peewit,

die Datei hat einen Standard Tabellenkopf fängt immer erst in der gleichen Zeile an.
Wenn ich die Exceldatei als .csv speichere wie sollte ich dann vor gehen?

MfG Frischling


peewit

du kannst ja vor dem speichern als csv die überschriften zeile löschen

1. datei in einen buffer mit fileopen und fileread einlesen
2. mit buffer_search suchst du dir das erste zeilenende
3. buffer_to_string(von zeilenanfang bis zeilenende)
4. die einzelnen spalten der zeile kannst du dann mit list_get dir holen
5. dann geht es wieder weiter mit schritt 2 jedoch zeilenanfang ist immer das letzte zeilende
   das wiederholst du solange bis du am ende des buffer angekommen bist.


Frischling

Danke für deinen Tip ich werde ihn versuchen so auszuführen
Melde mich wenn es geklappt hat oder ich weitere Hilfe brauche.

Danke peewit