Excel Datei per Script erstellen - createXLSX()
Mit der Version 3.12 wurde die neue Funktion createXLSX() aufgenommen, mit der man jetzt per Script Excel-Dateien erstellen kann.
Ich habe eine klein Beispiel Datenbank erstellt, welche die Möglichkeiten anhand von Praxisbeispielen näher bringt.
Sie ist noch nicht abschließend und wird um noch nicht integrierte Praxisbeispiele erweitert.
Ich hoffe, sie unterstützt euch bei euren Projekten.
15 Antworten
-
Hi Uwe, die Beispiele für die Excel-Scripte sind prima. Hast Du vielleicht auch noch eine Idee, wie ich per Script gleich den Zellenumbruch aktivieren und die Zellausrichtung vorgeben kann? Habe ich bisher nicht hinbekommen. Danke
-
Look tooo good, on Android Tablets.
-
Hallo,
gibt es einen Parameter, die Zeilen abwechselnd unterschiedlich einzufärben? Also so, wie beim Export aus dem Zahnradmenü von Ninox?
Grüße
Maurice -
Hallo gibt es die Beispiel-Datenbank schon in einer erweiterten Version v1-x? Ich will jetzt die Funktion in meine Datenbanken einbauen und brauche sicher viel Anregung :-)
Danke und Gruß aus Köln
Mike -
Ausgehend von Uwes Datenbank (danke) habe ich versucht mir ein Script zu erstellen, welches ich für verschiedene Situationen als Vorlage benutzen kann. Die Variante erlaubt es in den ersten drei Zeilen die Daten, die Spaltenweite und die Namen der Spalten einzugeben. Die Anlage der Spalten in der Variable erfolgt dann automatisch. Bei den Zeilen ist etwas Handarbeit nötig, da Formatierungen für z.B. Datum oder Auswahlfelder notwendig sind. Um die Inhalte anzusprechen, werden bei der Spaltenanlage "keys" gebildet und um diese unterscheidbar zum Spaltennamen zu machen, wird bei mir ein Unterstrich an den Anfang gesetzt. Auf komplizierte Formatierungen der Tabelle habe ich verzichtet - nur Lesbarkeit: Überschriften fett, groß und alle Inhalte linksbündig, vertikal zentriert. Damit ist das Script noch übersichtlich und Formatierungen kann ich in der Tabellenkalkulation schneller erledigen. Was vielleicht den einen oder anderen interessiert, ist die Anlage mehrerer Blätter. Als sinnfreies Beispiel der Maximalwert und alle Werte vom Sonntag in dem zweiten Scriptteil.
let data := (select EINKAUF); let columnsHeader := ["lfdNr", "Kundennummer", "Datum", "Produkt", "Bilanz", "Anzahl", "Preis"]; let columnsWidth := [10, 20, 15, 20, 10, 10, 15]; "----------------------------------------------------------------------------------------------"; let columnsCount := cnt(columnsHeader); let columnsContent := for j in range(columnsCount) do { header: item(columnsHeader, j), key: "_" + lower(item(columnsHeader, j)), width: item(columnsWidth, j), headerStyle: { font: { bold: true, size: 14 } } } end; let rowsContent := for i in data do let idx := index(data, i) + 1; { _lfdnr: idx, _kundennummer: i.Kundennummer, _datum: format(i.Datum, "dd DD.MM.YY"), _produkt: i.Produkt, _bilanz: i.text(Bilanz), _anzahl: i.Anzahl, _preis: i.Preis, styles: [{ alignment: { vertical: "middle", horizontal: "left" } }] } end; let worksheet := { sheet: { columns: columnsContent, rows: rowsContent } }; Bild := createXLSX(this, worksheet, "sheet.xlsx"). . . let worksheet := { sheet: { columns: columnsContent, rows: rowsContent }, sheetOfMax: { columns: columnsContent, rows: rowsContent[_preis = max(rowsContent._preis)] }, sheetOfSunday: { columns: columnsContent, rows: rowsContent[contains(text(_datum), "So")] } }; Bild := createXLSX(this, worksheet, "sheets.xlsx")
Content aside
-
4
„Gefällt mir“ Klicks
- gesternZuletzt aktiv
- 15Antworten
- 578Ansichten
-
8
Folge bereits



