0

createXLSX Formatoptionen

Hallo liebe Ninoxer.

Ich muss für eine sogenannte Zahlungsanordnung eine Excel-Tabelle bestehend aus mehreren Untertabellen (Vertragsdaten, Abschlagsrechnungen etc.) exportieren. Das funktioniert schon mal grundlegend. Bei den Formatierungen bin ich allerdings "steckengeblieben":

  • Die Kopfzeilen lassen sich pro Spalte beliebig z.B. rechtsbündig formatieren, nicht jedoch die Zeilen pro Spalte. In meinem Fall sollten  in Spalte A+B alle Inhalte linksbündig dargestellt werden, in Spalte C+D sollten die Werte (Prozent/ Währung) rechtsbündig dargestellt werden. 
  • In Spalte C+D werden die Werte grundsätzlich im Excel als Text "erkannt", ich habe bisher keine Möglichkeit gefunden (getestet auch mit number(Feld), damit Excel die Prozentwerte oder Währung als Zahl interpretiert - und damit auch rechtsbündig anordnet. 
let columns := [{
            header: "Zahlungsanordnung",
            key: "Bezeichnung",
            width: 30,
            headerStyle: {
                font: {
                    name: "Calibri",
                    family: 2,
                    size: 16,
                    bold: true,
                    wrapText: false
                },
                alignment: {
                    vertical: "top",
                    horizontal: "left",
                    wrapText: false
                }
            }
        }, {
            header: "",
            key: "Inhalt",
            width: 30
        }, {
            header: "",
            key: "Wert Prozent",
            width: 10,
            headerStyle: {
                alignment: {
                    horizontal: "right"
                }
            }
        }, {
            header: "",
            key: "Wert Summe",
            width: 10,
            headerStyle: {
                alignment: {
                    horizontal: "right"
                }
            }
        }];
let rows := (select Sammeltabelle).{
        Bezeichnung: text(Bezeichnung),
        Inhalt: text(Inhalt),
        'Wert Prozent': text('Wert Prozent'),
        'Wert Summe': text('Wert Summe')
    };
let k := 1;
for i in rows do
    setItem(i, "Line", k);
    setItem(i, "styles", [{
            font: {
                name: "Calibri",
                family: 2,
                size: 10,
                bold: false
            },
            alignment: {
                vertical: "top",
                horizontal: "left",
                wrapText: true
            }
        }]);
    k := k + 1
end;
let worksheets := {
        Zahlungsanordnung: {
            columns: columns,
            rows: rows
        }
    };
Bild := createXLSX(this, worksheets, "Zahlungsanordnung.xlsx");
Sharelink := shareFile(Bild)

 

Screenshot XLSX-Ausgabe:

 Ich habe dazu das Forum durchsucht, aber jeweils nur Infos gefunden, dass Ninox beim XLSX-Export nachbessern will. Einige Feldtypen werden bereits unterstützt  (Datum, Hyperlinks, Rich-Text). Sollte es für meine Probleme aktuell noch keine Lösung geben, wäre das meine "Wunschliste" an Ninox: 

  • Unterstützung weiterer Feldtypen z.B. percent: true/false und currency: true/false und damit die Übergabe der Daten nach Excel als Zahl mit der passenden Formatierung erfolgt (rechtsbündig mit % bzw. €)
  • Zugriff auf bestimmte Excel-Zellen (z.B. A7), um dort definiert Werte oder Formeln zu hinterlegen
  • Möglichkeit zum Verbinden von Excel-Zeilen oder -spalten

Vielen Dank vorab für Eure Unterstützung.

Herzliche Grüße
Henrik

Antwort

null