This is some text inside of a div block.

Vorlage für Excel Export

Lektion
6
Premium

Es kann eine angepasste Excelvorlage verwendet werden um Daten zu exportieren. Spezielle Platzhalter können verwendet werden um Daten auszugeben. Hierfür verwenden wir das Opensource Projekt JXLS. Eine genaue Beischreibung zur Syntax und Beispiele findet sich hier: https://jxls.sourceforge.net/samples/object_collection.html.

Variablen für allgemeine Informationen

Einfache variablen können ausgegeben werden mit ${VARIABLE}. Folgende Variablen stehen zur Verfügung:

Textwerte:

  • name: Name der Aktivität
  • place: Ort der Aktivität
  • description: Beschreibung der Aktivität
  • host: Name des Veranstalter
  • link: Link zur App
  • exportInfo: Informationen zu Exportzeitpunkt
  • weather: Wetterinformationen
  • snowSize: Schneegröße
  • snowType: Schneetyp
  • filterSkiGroupName: Name der Skigruppe nach welcher gefiltert wird.
  • timeZone: Kann verwendet werden um Daten in Lokalzeit umzurechnen.

Zahlenwerte:

  • participants: Anzahl Teilnehmer
  • quality: Qualität von 1 (schlechteste) bis 5 (beste)
  • qualityGrade: Qualität in Schulnoten
  • temperatureBeginning: Temperature Anfang
  • temperatureAvg: Temperature Durchschnitt von Wetterstation
  • temperatureEnding: Temperature Ende
  • humidityBeginning: Feuchtigkeit Anfang
  • humidityAvg: Feuchtigkeit Durchschnitt von Wetterstation
  • humidityEnding: Feuchtigkeit Ende
  • snowTemperatureBeginning: Schneetemperatur Anfang
  • snowTemperatureAvg: Schneetemperatur Durchschnitt von Wetterstation
  • snowTemperatureEnding: Schneetemperatur Ende
  • snowMoistureBeginning: Schneefeuchtigkeit Anfang
  • snowMoistureAvg: Schneefeuchtigkeit Durchschnitt von Wetterstation
  • snowMoistureEnding: Schneefeuchtigkeit Ende
  • windSpeedAvg: Windgeschwindigkeit Durchschnitt von Wetterstation
  • windDirectionAvg: Windrichtung Durchschnitt von Wetterstation
  • sunIlluminanceAvg: Sonnenstärke Durchschnitt von Wetterstation
  • length: Streckenlänge
  • verticalDrop: Streckenhöhenunterschied

Datumswerte:

  • date: Datum der Aktivität

Listen

Listen werden genutzt um Daten tabelarisch auszugeben. Diese werden meist mit jx:each Befehl verwendet.

  • splits: Liste mit maximaler Anzahl von Zwischenzeiten. Beispiel: [0,1,2,3] für 3 Sektoren.
  • skies: Liste von exportierten Ski. Falls ein Filter angeben wurde ist diese Liste ebenfalls danach gefiltert.
  • results: Alle Ergebnisse mit Ski, Wax und Wetterdaten. Falls ein Filter angeben wurde ist diese Liste ebenfalls danach gefiltert.

Eigenschaften für Skies-Liste

  • id
  • vendor
  • productionDate
  • length
  • grind
  • label
  • base
  • surface
  • number
  • wax: Siehe Wax-Objekt für verfügbare Eigenschaften. Beispiel: wax.name

Eigenschaften für Wax-Objekt

  • id
  • brand
  • name
  • tempWarmest
  • tempColdest
  • notes

Eigenschaften für Results-Liste

  • id
  • label
  • invalid: "user_dnf" | "user_dsq" | "duration_limit_max".
  • status: "transit" | "finished"
  • duration: Gesamtzeit
  • date: Startzeit der Messung.
  • rankingSort: Kann zur Sortierung von jx:each verwendet werden.
  • skiGroup
  • airTemperature: Lufttemperatur zum Startzeitpunkt.
  • airHumidity: Luftfeuchtigkeit zum Startzeitpunkt.
  • windSpeed: Windgeschwindigkeit zum Startzeitpunkt.
  • windDirection: Windrichtung zum Startzeitpunkt.
  • snowTemperature: Schneetemperatur zum Startzeitpunkt.
  • snowHumidity: Schneefeuchtigkeit zum Startzeitpunkt.
  • sunIlluminance: Sonnenstärke zum Startzeitpunkt.
  • ski: Selben Variablen wie in Skies-Liste ohne wax.
  • wax: Selben Variablen wie in Wax-Objekt.
  • hasSplit(1): Gibt an ob diese Messung einen Sektor mit dem Index besitzt. Achtung diese Zahl startet bei 0.
  • findSplit(1): Gibt den zweiten Sektor zurück.

Eigenschaften für Sektor-Objekt

  • distance
  • speed
  • duration
  • sequence
  • endedAt

Sektoren verstehen

Um in Tabellen die richtigen Daten ausgeben zu können, ist es wichtig zu verstehen dass jede Messung in Sektoren unterteilt ist. Jeder Messpunkt bildet einen Sektor. Achtung: Sektoren werden mit einem 0-basierten Index zugegriffen. Wenn also die Zeit in Sektor 2 ausgegeben werden soll so muss r.findSplit(1).duration angegeben werden.

Aufbau mit 6 Messpunkten

Hilfsfunktionen

  • toNumber(date): Wandelt ein Datum/Zeit in Sekunden um.
  • toTimezone(date, zone): Wandelt ein Datum in Lokalzeit um in der angegebenen Zeitzone.

Beispiele

Beispiel für einfache Variablenausgabe
Ausgabe von Skies-Liste
Ausgabe von Result-Liste