Liste nach Excel exportieren
Schreiben Sie den Inhalt einer Strukturliste in eine Excel-Arbeitsmappe, mit der Baumstruktur als Gliederung, mit Formaten und Summen – auch auf Rechnern mit der Access Runtime und ohne Excel. Dieselben Daten gehen für andere Programme nach XML oder JSON.
Voraussetzungen: WKL Forms Object Library 1.23 oder höher.
Lösungsüberblick
ExportToXlsx schreibt die Arbeitsmappe selbst (Office Open XML); ExportToXml und ExportToJson schreiben die
Spalten, die Datensätze als Hierarchie mit ihren Werten und die Summen; ExportToFile wählt das Format anhand der
Dateierweiterung (.xlsx, .xml, .json). Benutzer erhalten dasselbe über den Kontextmenüeintrag Exportieren …
(Format im Speichern-Dialogfeld; eingerichtet wird es mit AllowExport, ExportMode und ExportRows, auch auf der
Designerseite Gitter, Gruppierung und Export).
Umsetzung
With Me!List1.Object
.ExportToXlsx CurrentProject.Path & "\Bestellungen.xlsx", AutoStart:=True ' open afterwards
.ExportToXlsx "Sichtbar.xlsx", Rows:=werVisible ' relative: folder of the database
.ExportToXlsx "Rohwerte.xlsx", RawValues:=True ' stored values of lookup columns
.ExportToFile "Bestellungen.xlsx" ' format by extension
.ExportToXlsx "Ansicht.xlsx", Mode:=wemWysiwyg ' as shown: bands, rule colors
.ExportToJson "Bestellungen.json" ' data for other programs
.ExportToFile "Bestellungen.xml" ' XML by extension
End With
Hinweise
- Die sichtbaren Spalten werden in Anzeigereihenfolge mit ihren Werten und Typen exportiert; Zahlen und Datumswerte behalten das Spaltenformat (Währung, Datum, Ja/Nein wie in Access); Nachschlagespalten exportieren ihren angezeigten Text, sofern nicht
RawValues:=Trueangegeben ist. - Die Baumstruktur wird zu einer Excel-Gliederung mit den Zusammenfassungszeilen oben; in der Liste zugeklappte Knoten sind auch in Excel zugeklappt. Excel unterstützt sieben Gliederungsebenen.
- Summen der Fußzeile werden als
SUBTOTAL-Formeln mit ihrem Wert geschrieben; die Kopfzeile ist fixiert und wird auf jeder gedruckten Seite wiederholt. Rows:=werAll(Standard) schließt zugeklappte Knoten ein; mitLazyLoadliest es einmal alle Datensätze.werVisibleexportiert nur die angezeigten Zeilen.- Die Datei wird unter einem temporären Namen geschrieben und dann verschoben; ein fehlgeschlagener Export hinterlässt daher nie eine halb geschriebene Datei. Ein fehlender Ordner löst
wkeInvalidValueaus. Mode:=wemWysiwyggibt die Ansicht weiter: Bänder und mehrzeilige Datensätze werden zu verbundenen Zellen, die Formatregeln behalten ihre Farben und Schriftarten, und die Gitternetzlinien werden gezeichnet. Werte bleiben typisiert; Summen der Fußzeile sind Werte, weil eine Formel über eine Excel-Spalte die Zellen anderer Datensatzzeilen einbeziehen würde. Datenbalken und Symbolsätze werden nicht exportiert.- XML und JSON enthalten dieselben Datensätze als Hierarchie (Kindknoten innerhalb ihres übergeordneten Knotens) mit einem Wert je Spalte; JSON verwendet JSON-Zahlen,
true/falseund ISO-Datumsangaben, XML nennt den VBA-Typ jedes Werts. Beide sind die Datenansicht der Liste: Der Modus „wie angezeigt“ gilt nur für die Arbeitsmappe. Den Aufbau der Dateien beschreiben ExportToXml und ExportToJson (API-Referenz, Englisch). Andere Erweiterungen lösenwkeInvalidValueaus.