This is some text inside of a div block.

Excel Export Template

Lesson
6
Premium

A customized Excel template can be used to export data. Special placeholders can be used to output data. For this we use the open source project JXLS. A detailed description of the syntax and examples can be found here: https://jxls.sourceforge.net/samples/object_collection.html.

Variables for general information

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

Text values:

  • name: Name of the activity
  • place: Place of activity
  • description: Description of the activity
  • host: Name of the organizer
  • link: Link to the app
  • exportInfo: Information on export time
  • weather: Weather information
  • snowSize: Snow size
  • snowType: Snow type
  • filterSkiGroupName: Name of the ski group that is filtered by.
  • timeZone: Can be used to convert data to local time.

Numerical values:

  • participants: Number of participants
  • quality: quality from 1 (worst) to 5 (best)
  • qualityGrade: Quality in school grades
  • temperatureBeginning: Temperature Beginning
  • temperatureAvg: Temperature average from weather station
  • Ending: Temperature End
  • humidityBeginning
  • humidityAvg: Humidity average of weather station
  • humidityEnding: Humidity End
  • snowTemperatureBeginning: Snow temperature beginning
  • snowTemperatureAvg: Snow temperature average from weather station
  • snowTemperatureEnding: Snow temperature end
  • snowMoistureBeginning: Snow moisture beginning
  • snowMoistureAvg: Snow Moisture Average by Weather Station
  • snowMoistureEnding: Snow moisture end
  • windSpeedAvg: Wind speed average from weather station
  • windDirectionAvg: Wind direction average from weather station
  • sunIlluminanceAvg: Solar Strength Average by Weather Station
  • length: Length of track
  • verticalDrop: Elevation gain

Date values:

  • date: Date of activity

Wiles

Lists are used to output data in tabs. These are mostly used with jx:each command.

  • splits: List with maximum number of split times. Example: [0,1,2,3] for 3 sectors.
  • skies: List of exported skis. If a filter has been specified, this list is also filtered for it.
  • results: All results with skis, wax and weather data. If a filter has been specified, this list is also filtered for it.

Features for Skies List

  • id
  • vendor
  • productionDate
  • length
  • scab
  • label
  • base
  • Surface
  • Number
  • wax: See Wax object for available properties. Example: wax.name

Properties for Wax Object

  • id
  • fire
  • name
  • tempWarmest
  • tempColdest
  • Notes

Results List Properties

  • id
  • label
  • invalid: "user_dnf" | "user_dsq" | "duration_limit_max".
  • Status: "Transit" | "finished"
  • duration: Total time
  • date: Start time of the measurement.
  • rankingSort: Can be used to sort jx:each.
  • skiGroup
  • airTemperature: Air temperature at the time of start.
  • airHumidity: Humidity at the time of start.
  • windSpeed: Wind speed at the time of take-off.
  • windDirection: Wind direction at the time of take-off.
  • snowTemperature: Snow temperature at the time of start.
  • snowHumidity: Snow humidity at the time of start.
  • sunIlluminance: Strength of the sun at the time of start.
  • ski: Same variables as in Skies list without wax.
  • wax: Same variables as in wax object.
  • hasSplit(1): Indicates whether this measurement has a sector with the index. Attention, this number starts at 0.
  • findSplit(1): Returns the second sector.

Properties for Sector Object

  • distance
  • speed
  • duration
  • sequence
  • endedAt

Understanding Sectors

In order to be able to output the correct data in tables, it is important to understand that each measurement is divided into sectors. Each measuring point forms a sector. Attention: Sectors are accessed with a 0-based index. So if the time is to be output in sector 2, r.findSplit(1).duration must be specified.

Setup with 6 measuring points

Auxiliary functions

  • toNumber(date): Converts a date/time to seconds.
  • toTimezone(date, zone): Converts a date to local time in the specified time zone.

Examples

Example of Simple Variable Output
Output of Skies List
Output of Result List