Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new option --csvlog #403

Closed
beistehen opened this issue Dec 20, 2023 · 7 comments
Closed

new option --csvlog #403

beistehen opened this issue Dec 20, 2023 · 7 comments
Milestone

Comments

@beistehen
Copy link

Wie --xtflog, jedoch Ausgabe als csv auf Basis Modell IliVErrors.

@claeis
Copy link
Owner

claeis commented Dec 20, 2023

Ist xtflog nicht einfach genug?

CSV ist längerfristig immer problematisch/Support anfällig...welches Character-Encoding? welches Trennzeichen? und wie geht man mit Werten um, die das Trennzeichen enthalten? Alles Probleme, die man mit XML nicht hat.

@beistehen
Copy link
Author

Aktueller Workflow ist dieser:

  1. ilivalidator macht xtflog
  2. ili2db macht aus xtflog Tabelle in DB
  3. Tabelle aus DB exportieren als csv (Datei oder Zwischenablage)
  4. csv in Excel einlesen und auswerten

Praktisch wäre, wenn man das abkürzen könnte. Einem Endnutzer ist das nicht zumutbar. Hast du einen Vorschlag wie?

...welches Character-Encoding? welches Trennzeichen? und wie geht man mit Werten um, die das Trennzeichen enthalten?

Default-Werte annehmen, die via (Meta)config übersteuert werden können?

@edigonzales
Copy link
Contributor

Wäre --xlslog nicht angebrachter?

  • Leute, die CSV wollen, wollen eigentlich XLS
  • Leute, die nicht XLS wollen, wollen auch nicht CSV, sondern können mit Standard-Output und/oder XTF umgehen
  • Keine Diskussion bezüglich Encoding, Trennzeichen etc.

Weil Weihnachten vor der Türe steht: Plugin-Mechanismus. Man schreibt sein eigenes, zusätzliches Output-Format und schmeisst das Jar in den Plugin-Ordner. Auftraggeber kann bei Bedarf an seine Kunden ein eigenes ilivalidator-Paket schnüren, inkl. Custom-Logformat und Validierungsfunktionen.

@claeis
Copy link
Owner

claeis commented Dec 20, 2023

Plugin dünkt mich zu aufwändig und geht am Ziel einer einfachen Nutzbarkeit vorbei.

Welche CSV Variante wird von welcher Excel Version unterstützt? Dazu finde ich keine Doku.

Umsetzung müsste sich aber an https://www.ietf.org/rfc/rfc4180.txt orientieren.

@beistehen
Copy link
Author

Vielleicht kann es wirklich direkt xlsx sein. Das ist auch XML.

Wäre das eine passende Library?
https://github.com/dhatim/fastexcel

claeis added a commit that referenced this issue Dec 22, 2023
@claeis claeis added this to the 1.14.1 milestone Dec 22, 2023
@claeis
Copy link
Owner

claeis commented Dec 22, 2023

Bitte verifizieren

@claeis claeis closed this as completed Dec 22, 2023
@beistehen
Copy link
Author

Bitte verifizieren

Erste Tests sind erfolgreich, vielen Dank!

Feststellungen:
a)
Double quote " zur Abgrenzung von Text macht beim Öffnen des csv mit Excel Probleme, weil ein solches Zeichen zu Beginn einer Zelle entfernt wird. Danach werden die Spalten nicht mehr an der richtigen Stelle getrennt, wenn im Text Kommas vorhanden sind.
Abhilfe schafft das Ändern der Textabgrenzung auf single quote '; diese werden beim Öffnen des csv nicht entfernt.

b)
--xtflog erzeugt ein xtf in UTF-8 ohne BOM
--csvlog erzeugt ein csv in UTF-8 mit BOM

Lässt sich das vereinheitlichen (am liebsten beide ohne BOM)?

Nachtrag: habe soeben die Korrektur in iox-ili auf csv-Export mit BOM gesehen entdeckt. Meine Tests (csv mit/ohne BOM) zeigen, dass der Unterschied nur im Verhalten von Excel ändert: mit BOM wird ein zusätzlicher Import-Dialog angezeigt; ohne BOM wird dieser Dialog nicht angezeigt. Ist das der einzige Grund, weshalb aktuell das csv mit BOM exportiert wird?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants