Daten aus Excel-Dateien einlesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Daten aus Excel-Dateien einlesen

Beitrag von Toxitom »

Hey Sven,
sveni hat geschrieben:Mein Problem ist das ich nicht weiss wie viele Dateien sich im Verzeichnis befinden, ich bräuchte also irgendetwas wie 'getFiles'. Gibt es sowas oder muss ich alle Dateien (mit Namen) kennen um darauf Zugriff zu bekommen?
Ja, so etwas gibt es - und nein, du brauchst die Namen nicht alle zu kennen ;-)

Je nachdem, wie du rangehst: In reinem Basic erhälst du mit

Code: Alles auswählen

...
sPfad = ConvertToURL("D:\deinPfad\komplett\)"
nextFile = Dir(sPfad, 0)  'die erste Datei
Do while nextPfad <> ""
  Datei = nextFile  'die nächste Datei (Name als String)
  nextFile = Dir     'eins weiterschalten
loop
nutzt du hingegen den SimpleFileAccess Service in UNO (was ich eigentlich empfehle), dann dann geht das so:#

Code: Alles auswählen

...
sPfad = ConvertToURL("D:\deinPfad\komplett\)"
oUCB = createUnoService("com.sun.star.ucb.SimpleFileAccess")
aListe = oUcb.getFolderContenets(sPfad, false)  'und die Liste enthält nun alle Dateienamen im Verzeichnis
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Daten aus Excel-Dateien einlesen

Beitrag von komma4 »

Du verwendest ein falsches Objekt um, wie der Titel es andeutet, Excel-Daten zu lesen (simple file object ist für streams, auch einfache Textdateien).

Suche mal im Forum nach LoadComponent.
Beispiele findest Du sicherlich auch bei Andrew Pitonyak (siehe erstes sticky Posting dieses Forumbereichs)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Daten aus Excel-Dateien einlesen

Beitrag von komma4 »

svei hat geschrieben:das simple file object doch dafür verwenden um cvs Dateien einzulesen
ja, das ginge, auch das "native" Lesen mit LINE INPUT geht: dann musst Du die Zeilen aber selbst in passende Variablen parsen.

Lässt sich aber leichter mit einem CSV-Import nach Calc erledigen (wenn nicht mehr als 65536 Zeilen im CSV). Sieh' mal das Beispiel insertCSV2Calc auf meiner Seite.


Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten