🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

umwandlung von csv nach xls mittels unoconv

Komponentenübergreifende Themen und Hilfe zu LibreOffice
Antworten
scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

umwandlung von csv nach xls mittels unoconv

Beitrag von scientific » Mi 15. Mai 2013, 13:14

Hi!

Ich habe hier einen Auftrag, der öfter zu erledigen sein wird. Mit Unix-Shell-Skripts bearbeite und erstelle ich csv-Files. Mein Arbeitgeber will aber nur xls oder xlsx-Files... :-/
Da ich hier auf Linux nur Libreoffice installiert habe und auch nur damit arbeite, und Libreoffice unoconv mitbringt, dachte ich an ein Skript, welches mir die csv-Dateien in xls-Files konvertiert...

Nur unoconv erstellt zwar ein xls-File, aber alle Spalten aus dem csv landen gemeinsam in der ersten Spalte im xls...

Hab ich da irgendwo eine Option für den Spaltentrenner übersehen?

lg scientific

pmoegenb

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von pmoegenb » Mi 15. Mai 2013, 14:52

Hallo scientific,
scientific hat geschrieben: Nur unoconv erstellt zwar ein xls-File, aber alle Spalten aus dem csv landen gemeinsam in der ersten Spalte im xls...
Hab ich da irgendwo eine Option für den Spaltentrenner übersehen?
wenn das eine ernsthafte Frage ist setzt Du voraus, dass die Forumsteilnehmer eine Glaskugel besitzen aus der die Struktur der .csv-Datei erkennbar ist.

scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von scientific » Mi 15. Mai 2013, 18:01

Einige spalten, trennzeichen ist das pipezeichen und text ist in anführu gszeichen... Alternativ könnt ich als trennzeichen auch ein komma verwenden.
Also eine klassische csv-datei...

;-)

pmoegenb

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von pmoegenb » Mi 15. Mai 2013, 18:40

Lese Dir das mal durch, dann bist Du schlauer. Beim Import der .csv-Datei müssen die Angaben für Feldtrennzeichen etc. mit dem Inhalt der .csv-Datei übereinstimmen.

scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von scientific » Mi 15. Mai 2013, 21:34

Ok. Das beantwortet aber meine Frage nicht.

Was ich herausgefunden habe ist, dass man einen Importfilter angeben muss. Nur finde ich bei der in Hülle und Fülle existierenden Dokumentation zu unoconv leider nicht, welcherart der Importfilter gestaltet sein muss, damit eine csv-Datei, welche Zeilen beinhaltet die folgendermaßen gestaltet sind
"ID001A1"|"ID2200ABB"|"irgend ein Text oder Beschreibung"|2011|"IKZ"|"Eine weitere Beschreibung."|"2012-01-01"|"2012-12-31"|"1) Status 1"|"In Verhandlung"|258.020,00|"0.0000"
so importiert werden, damit daraus eine xls-Datei entsteht, welche die Spalten an den "|" aufteilt. Statt des Pipe-Zeichens kann ich auch "," verwenden, was ich aber nicht so gerne mache.

Als Doku hab ich http://wiki.openoffice.org/wiki/Documen ... er_Options gefunden, aber auch hier konnte ich nicht herauslesen, wie der Importfilter mit -i richtig gesetzt wird.

Ich habe - mit anderen Worten ausgedrückt - nirgendwo eine Liste gefunden, woraus hervorgeht, dass 44 ein Komma ist, und wie die Codes der anderen möglichen Trennzeichen lauten.

lg scientific

scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Re: umwandlung von csv nach xls mittels unoconv [SOLVED]

Beitrag von scientific » Mi 15. Mai 2013, 21:49

Hab jetzt herausgefunden - oder denke zumindest so - dass das die Dezimalwerte der ASCII-Codes sind. Demnach wäre eine Pipe ASCII 166.

Der Befehl

Code: Alles auswählen

unoconv -f xls -i 124,34,76 SCHIG-AB.csv
erzeugt wiederum ein xls-File, wo alle Spalten des CSV in der ersten Spalte gemeinsam incl. Delimiter und Anführungszeichen für Text stehen... :-/

[edit]
und warum es jetzt funktioniert hat, weiß wohl nur die Wetterwarte... :-/
[/edit]

lg scientific

pmoegenb

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von pmoegenb » Mi 15. Mai 2013, 22:33

Wenn bei .txt- oder .csv-Dateien die erste Zeile Feldnamen enthält, können diese direkt in CALC importiert werden.

Zur Vereinfachung, vorausgesetzt Feldtrenner etc. sind gleichbleibend, kann auch für das Verzeichnis in dem sich .csv-Dateien befinden eine Datenbankdatei angelegt und mittels der Datenbank-Ansicht in CALC mit einem 2 Mausklicks in eine CALC-Tabelle eingesteuert werden. Die Calc-Datei kann dann im Fremdformat .xls gespeichert werden.

Die Datenbank-Datei .odb muss dabei einmalig angelegt werden. Ab diesem Zeitpunkt sind alle .csv-Dateien, die sich in dem vorgenannten Verzeichnis befinden in der Datenbank-Ansicht (F4) sichtbar. Siehe hierzu auch http://www.ooowiki.de/csvDatentabelle.html.

scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von scientific » Do 16. Mai 2013, 17:00

Naja, den Aufwand mit der Datenbank brauch ich nicht.

Es sind derzeit 4-5 Files, welche die Anzahl der Spalten ändern können. Die Files haben auch eine Headerzeile mit den Spaltenbezeichnungen.

Es geht nur darum, das csv-File, welches ich mit einem Shell-Skript erstelle automatisiert in ein xls zu konvertieren, damit ich nicht jedes einzelne csv manuell öffnen und als xls wieder abspeichern muss. Ich brauch keine spezielle Datumskonvertierung o.ä. Öffnen mit Angabe des Spaltentrenners und abspeichern als xls.

Allerdings wär es auch noch fein, wenn ich irgendwie eine farbliche Formatierung des Hintergrundes pro Zelle abhängig vom Inhalt der Zelle mittels Skript (unoconv???) schaffen könnte. Ansonsten werd ich mir da wohl ein Makro basteln, welches auch gleich verschiedene Spalten sperrt und die Zellen inhaltsabhängig einfärbt.

lg scientific

xundeenergie
Beiträge: 32
Registriert: Do 20. Jun 2013, 17:46

Re: umwandlung von csv nach xls mittels unoconv

Beitrag von xundeenergie » Fr 28. Feb 2014, 14:30

Altes Thema, wieder interessant...

Ich krieg ein *.xlsx-File und möchte daraus ein csv mit "|" als Feldtrenner erzeugen.

Code: Alles auswählen

unoconv -f csv -e FilterOptions=166,34,76 *.xlsx


gibt mir immer ein tatsächlich Komma-Separiertes File aus.

Verwenden wirklich so wenige unoconv? Weil ich such mir schon seit einem Jahr immer wieder die Finger wund zu diesem Thema... und finde nix...

lg jakob
LibreOffice
Version: 4.1.4.2 Build-ID: 410m0(Build:2) auf Debian Wheezy mit Backports


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten