The code is also available at GitHub under the most permissive of licenses.
Originally I took this as an interesting challenge to my spreadsheet skills. The spreadsheet I created (xlsx, original LibreOffice ods) takes a GPX file pasted into one sheet, and displays on another sheet a graph of cumulative elevation, as well as calculating the distance at which you've done half the climbing.
It doesn't attempt to parse the XML of the GPX file; everything is done in cell formulae. This means that each track point is assumed to look like this and to not have a timestamp (so it works for RideWithGPS and Strava routes, but not Komoot).
<trkpt lat="51.53166" lon="-2.4620100000000003">
This is what the output looks like: