You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@openoffice.apache.org by technik <te...@jrsch.de> on 2015/12/31 16:08:43 UTC

Einlesen von CSV Dateien durch marko

Hallo,

ich nutze zum Austausch von Daten in Kalk das csv Format. Diese lese ich 
über Makros ein

Dabei habe ich zwei Probleme:

1.  Line Input #iNumber, vtext
bekomme ich vtext=""05.10.2014";"Karl";"25,36""
splitte ich das split(vtext,";") erhalte ich für Feld(0) ""05.10.2014""
Also einen doppelt gemoppelten String.
Ich will aber mit datevalue() das Datum ermitteln und auch nach "Karl" 
suchen, habe aber als Feld(1) ""Karl""
a)kann man das irgendwie vermeiden
b)kann man die variablen einfach umwandeln in "Karl" oder "05.10.2014"

2. Gibt es eine Möglichkeit eine CSV Datei komfortabler in Zeilen 
einzulesen?
ich mache line input , split() dann: for 0 to ubound() und trage jede 
einzelnen Wert ein.
Das ist gemütlich :-)
Was ich bräuchte ist eine schnellere Funktion, die z.B. ein Feld direkt 
einträgt.
Gibt es so etwas?

Horst


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Re: Einlesen von CSV Dateien durch marko

Posted by Bernd Obermayr <li...@bobermayr.de>.
technik schrieb:

> Was ich bräuchte ist eine schnellere Funktion, die z.B. ein Feld direkt 
> einträgt.
> Gibt es so etwas?
> 
> Horst
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: users-de-help@openoffice.apache.org
> 

Hi,
Du brauchst die Makros von T. Krumbein :)
Guckst Du: <http://www.heise.de/ct/ftp/10/10/174/>

-- 
Gruss
  Bernd

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Re: Einlesen von CSV Dateien durch marko

Posted by Wolfgang Jäth <ja...@arcor.de>.
Am 31.12.2015 um 16:08 schrieb technik:
> Hallo,
> 
> ich nutze zum Austausch von Daten in Kalk das csv Format. Diese lese ich 
> über Makros ein
> 
> Dabei habe ich zwei Probleme:
> 
> 1.  Line Input #iNumber, vtext
> bekomme ich vtext=""05.10.2014";"Karl";"25,36""
> splitte ich das split(vtext,";") erhalte ich für Feld(0) ""05.10.2014""
> Also einen doppelt gemoppelten String.
> Ich will aber mit datevalue() das Datum ermitteln und auch nach "Karl" 
> suchen, habe aber als Feld(1) ""Karl""
> a)kann man das irgendwie vermeiden

Wenn beim Abspeichern angegeben wurde, dass alle Elemente in Hochkomma
eingeschlossen werden (und das ist ja offensichtlich der Fall), dann nicht.

> b)kann man die variablen einfach umwandeln in "Karl" oder "05.10.2014"

Jein; wenn Du einfach z. B. mit

| =TEIL(A1;2;LÄNGE(A1)-2)

das erste und das letzte Zeichen heraus schneidest, riskierst Du, dass
es nicht mehr funktioniert, wenn sich am Eingangsformat plötzlich was
änderst. Und ein sichereres

| =WENN(UND(LINKS(A1;1)="""";RECHTS(A1;1)="""");TEIL(A1;2;LÄNGE(A1)-2);A1)

würde ich jetzt nicht mehr unter 'einfach' einstufen. ;-)

> 2. Gibt es eine Möglichkeit eine CSV Datei komfortabler in Zeilen 
> einzulesen?

Ja, natürlich; das würde ich Dir auch vorschlagen. CSV-Dateien kannst Du
genauso ansprechen wie ODS-Dateien:

| ='file:///C:/dein/dateipfad/sourcedatei.csv'#$Tabelle1.A1

Das umgeht auch bequem Fragen nach dem Format, wie z. B. die, ob die
Elemente in Hochkomma eingeschlossen sind oder nicht.

Allerdings muss ich Dich auch warnen, mit der Anzahl der Verweise dauert
das Öffnen des (zugreifenden) Dokumentes immer länger, da wäre Deine
Makro-Lösung trotzdem sinnvoller. Ursache ist IMHO, dass keine Zelle von
der anderen weiß; sprich für jeden Verweis separat wird die Sourcedatei
jedesmal neu geöffnet, der betreffende Wert gelesen, und die Datei
wieder geschlossen. Das wird natürlich irgendwann (so ab einer drei-
oder vierstelligen Anzahl Verweise aka Werte) zeitlich spürbar. Musst Du
einfach ausprobieren.

Außerdem musst Du dann beim Öffnen des (zugreifenden) Dokumentes immer
einen kleinen Dialog weg drücken, in dem gefragt wird, ob Du die Daten
aktualisieren willst; das ist auf Dauer auch recht lästig.

Wolfgang
-- 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org