Skip to main content
als ik reishistorie 2018 wil downloaden is dat niet simpel. er zijn 2 opties: PDF en CSV.

PDF kun je niet optellen. CSV is lijkt het voor computer programmeurs. Toch kan ik met enige moeite converteren naar kolommen in excell. Maar nu het probleem: de bedragen per reis staan in de kolom als volgt aangegeven bijvoorbeeld: â- 2,45. heel lastig als je alle bedragen wilt optellen in excell.

Vraag: wat kan ik doen om dit voor alle reizen in een keer aan te passen. En vraag 2, waarom maakt NS het eigenlijk voor de klant niet makkelijker door gewoon een excell download mogelijk te maken.

bedankt Jan
Goedenavond janHB en welkom bij de NS Community!



Er is gekozen voor het CSV bestandstype omdat dit een vrij universeel bestandstype is, wat door de manier van opslaan makkelijk te importeren is in vele verschillende dataverwerkingsprogramma's. Tevens levert deze vorm ook erg kleine bestanden op.

Een Excel bestand heeft meteen zijn eigen opmaak, gerelateerd aan het programma Excel, waardoor de grootte van het bestand snel oploopt en waardoor importeren in andere programma's ook moeilijker wordt.



Een goeie instructie over hoe je een CSV bestand eenvoudig kan importeren in Excel kun je hier vinden.
201902 26 6:40 tekencodering

Je krijgt ''€'' als ''€" in UTF-8 wordt geïnterpreteerd als ANSI. Met bijvoorbeeld Kladblok/Notepad kan je UTF-8 omzetten in ANSI.
Beste Dennis, dank voor je tip. heb het geprobeerd; UTF en ANSI transformatie niet misselijk. Maar het is na enig googlen en enige moeite toch gelukt. top!



Beste Stijn, dank voor je snelle reactie. Ik snap dat jullie willen besparen op serverruimte, maar mag ik jullie vragen ook het klantenbelang mee te wegen. Het gaat hier niet om IT relaties, maar om consumenten. Die zijn niet opgeleid in CSV, UTF-8 of ANSI.

Ik hoop dat jullie dit willen her-overwegen.
Graag in huidig openbaar CSV formaat houden i.p.v. het gesloten Excel formaat. Niet iedereen heeft Windhoos of wil dat aanschaffen. Dat Excel standaard niet goed overweg kan met UTF-8 verbaast me overigens. UTF-8 is niet iets exotisch, het is de meestgebruikte karakter-codeerstandaard. Daar zou je als consument geen last van moeten hebben. Ergo, je kunt je vraag omtrent gebruikersvriendelijkheid beter aan Microsoft stellen dan aan de NS.

De CSV (kommagescheiden) bestanden van Mijn NS zijn vrij eenvoudig te importeren in Excel.

  • Open een blanco werkboek
  • Ga naar DATA in de werkbalk en kies From Text (3e knop)
  • Zoek je .csv bestand en klik op Import
  • Zoek UTF-8 in de lijst van bestandstypen, zet het vinkje Mijn data heeft headers aan. De eerste regel (Datum, Check in...) wordt dan genegeerd en de rest wordt vervolgens automatish herkend als datum, bedrag etc.

d8822f6a-60f7-4556-a1c2-61a0a26ddc6d.png

 

  • In het volgende venster, kies Komma als scheidingsteken, vinkje 'treat consecutive als één' moet uit blijven (komma komma betekent leeg veld en op naar het volgende in je spreadsheet).

 

d3deedee-664d-4d6d-8a56-57243bc44896.png

 

  • Klik op Finish en je bent klaar.

Het grote voordeel van CSV is dat alle spreadsheet programma's het kunnen importeren, ook al begrijpen de meesten zoals de gratis OpenOffice, LibreOffice e.d. het Excel XML (.xlsx) of oudere Microsoft Excel formaat (.xls) ook wel.

Maar zoals gezegd, vooral die laatste bestandsformaten bevatten enorm veel 'overhead' zoals wijzigingshistore, printer-info en zelfs persoonlijke info zoals wie het bestand gemaakt/bewerkt heeft, en andere programma's of versies van Excel gooien dan soms alles door elkaar (vooral bij Word bestanden met opmaak, als je toevallig een andere printer hebt of zo).

Dat heb je dus nergens voor nodig. De kale data is voldoende, en voor de meeste mensen is een PDF prima. Als je daar de transacties die je wilt declareren selecteert, staan de totalen er ook bij.

 


201902 26 20:38

Mijn tip voor het omzetten van UTF-8 in ANSI kan nog van pas komen bij gebruik van een oude versie van Excel.
Heren, dank voor jullie aanmoedigingen. Ik begin me als eenvoudige excell klant van Bill Gates echt al een beetje programmeur te voelen. Interessant om eens over al deze ontwikkelingen te horen. Misschien kan NS op de grote stations naast de piano's ook een ICT stalletje inrichten voor de liefhebbers. Echt ongelooflijk hoeveel je in een mum van tijd kunt leren.

thanks!
De CSV (kommagescheiden) bestanden van Mijn NS zijn vrij eenvoudig te importeren in Excel.

...




Mijn hemel, nou snap ik het probleem wel. Voor de gein ook eens geprobeerd met LibreOffice; klik Download, klik Ok (nieuw scherm opent), klik Ok. Het is geen hogere wiskunde.


De CSV (kommagescheiden) bestanden van Mijn NS zijn vrij eenvoudig te importeren in Excel.

...
Mijn hemel, nou snap ik het probleem wel. Voor de gein ook eens geprobeerd met LibreOffice; klik Download, klik Ok (nieuw scherm opent), klik Ok. Het is geen hogere wiskunde.


201902 27 11:50

Ik weet niet of je dat bedoelt, maar ik zie dat je ook met LibreOffice UTF-8 kan selecteren.
Volgens mij werkt LibreOffice default met UTF-8, dus waarom zou je dat nog selecteren? Iemand zonder verstand van auto's zou ik ook niet aanraden om onder de motorkap te gaan rommelen als er geen probleem is.
201902 26 20:38

Mijn tip voor het omzetten van UTF-8 in ANSI kan nog van pas komen bij gebruik van een oude versie van Excel.


201902 27 14:13

Even een gratis spreadsheetprogramma downloaden (ter vervanging, of voor erbij) dat wel om kan gaan met UTF-8 is (zoals Martin7182 al suggereert) eigenlijk wel handiger.

Een ander probleem is dat een webserver niet standaard 'on the fly' een Excel bestand kan genereren (een willekeurige declaratie). Voor XML, CSV en PDF zijn gewoon simpele php scripts/commando's ingebouwd.

*Edit, bij Zakelijk krijg je dus een heus. xls bestand! (info van @Henk_NL)


De NS software is ook geen standaard met php-gemaakte webpagina. Het zal technisch geen enkel probleem zijn om welk formaat dan ook te genereren. Maar goed, waarom zou je jezelf willen ophangen aan een gesloten formaat van Microsoft, nog los van evt. financiële consequenties?
201902 28 7:08

Ik krijg nu de indruk dat LibreOffice het oorspronkelijke probleem niet oplost: een euroteken in de invoer maakt de cel van type tekst, zodat je de somfunctie niet kan gebruiken!
Gewoon even aangeven welke cellen een geldbedrag bevatten;

https://help.libreoffice.org/Calc/Cells_in_Currency_Format



In Excel zal zoiets ook wel kunnen. Je moet sowieso aangeven welke cellen je wilt optellen. Als je het totaalbedrag wilt, dan kun je beter de PDF downloaden en hoef je verder niets te doen.
Gewoon even aangeven welke cellen een geldbedrag bevatten;

https://help.libreoffice.org/Calc/Cells_in_Currency_Format



In Excel zal zoiets ook wel kunnen. Je moet sowieso aangeven welke cellen je wilt optellen.


Het werkt niet. Je importeert teksten zoals "€3,00". Bij Excel wordt dat omgezet in de celinhoud 3 (te zien in het invoer/bewerkingsvenster) met valuta-opmaak, zodat je in de cel € 3,00 ziet, maar bij LibreOffice blijft het een tekst (te zien in het invoer/bewerkingsvenster, nu met een apostrof ervoor: '€3,00). Alleen door de apostrof in elke cel weg te halen worden het getallen in valuta-opmaak.


Gewoon even aangeven welke cellen een geldbedrag bevatten;

https://help.libreoffice.org/Calc/Cells_in_Currency_Format



In Excel zal zoiets ook wel kunnen. Je moet sowieso aangeven welke cellen je wilt optellen.
Het werkt niet. Je importeert teksten zoals "€3,00". Bij Excel wordt dat omgezet in de celinhoud 3 (te zien in het invoer/bewerkingsvenster) met valuta-opmaak, zodat je in de cel € 3,00 ziet, maar bij LibreOffice blijft het een tekst (te zien in het invoer/bewerkingsvenster, nu met een apostrof ervoor: '€3,00). Alleen door de apostrof in elke cel weg te halen worden het getallen in valuta-opmaak.




201902 28 13:25

De handigste oplossing lijkt me daarom de eurotekens uit het csv-bestand te verwijderen, dat kan ook met Kladblok/Notepad ("alles vervangen"). Voor een oude versie van Excel kan UTF-8 omzetten in ANSI in één moeite door, maar bij de reishistorie van NS maakt dat dan volgens mij niet meer uit.




Gewoon even aangeven welke cellen een geldbedrag bevatten;

https://help.libreoffice.org/Calc/Cells_in_Currency_Format



In Excel zal zoiets ook wel kunnen. Je moet sowieso aangeven welke cellen je wilt optellen.
Het werkt niet. Je importeert teksten zoals "€3,00". Bij Excel wordt dat omgezet in de celinhoud 3 (te zien in het invoer/bewerkingsvenster) met valuta-opmaak, zodat je in de cel € 3,00 ziet, maar bij LibreOffice blijft het een tekst (te zien in het invoer/bewerkingsvenster, nu met een apostrof ervoor: '€3,00). Alleen door de apostrof in elke cel weg te halen worden het getallen in valuta-opmaak.
201902 28 13:25

De handigste oplossing lijkt me daarom de eurotekens uit het csv-bestand te verwijderen, dat kan ook met Kladblok/Notepad ("alles vervangen"). Voor een oude versie van Excel kan UTF-8 omzetten in ANSI in één moeite door, maar bij de reishistorie van NS maakt dat dan volgens mij niet meer uit.




Of je gebruikt de functie voor het importeren van csv-bestanden waar @Robert B eerder al op wees. Deze is precies bedoeld om met dit soort verschillen om te kunnen gaan. Tip voor de digibeten onder ons die dit te veel op 'programmeren' vinden lijken: onder in dit scherm zie je klein het resultaat vast en kun je nog makkelijk terug als het er anders uitziet dan je bedoeling was en je dus nog iets aan moet passen.
201902 28 7:08

Ik krijg nu de indruk dat LibreOffice het oorspronkelijke probleem niet oplost: een euroteken in de invoer maakt de cel van type tekst, zodat je de somfunctie niet kan gebruiken!


Nee, de "quotes" rondom die €3,00 maken dat LibreOffice het als tekst ziet (dat moet ook wel vanwege de komma in het bedrag, die geen scheidingsteken mag zijn natuurlijk). Als je het euroteken weglaat krijg je precies hetzelfde resultaat vermoed ik, dus de tekst "3,00".



Excel is wat dat betreft net iets slimmer dus, of doet in ieder geval zijn eigen ding wat in dit geval correct is 😛 Ik gebruik overigens Office 2013, maar die verschilt weinig van 2010 en nieuwere versies.


201902 28 7:08

Ik krijg nu de indruk dat LibreOffice het oorspronkelijke probleem niet oplost: een euroteken in de invoer maakt de cel van type tekst, zodat je de somfunctie niet kan gebruiken!
Nee, de "quotes" rondom die €3,00 maken dat LibreOffice het als tekst ziet (dat moet ook wel vanwege de komma in het bedrag, die geen scheidingsteken mag zijn natuurlijk). Als je het euroteken weglaat krijg je precies hetzelfde resultaat vermoed ik, dus de tekst "3,00".


201902 28 20:18

Bij openen/importeren van csv in LibreOffice is er de optie ''veld met aanhalingstekens als tekst opmaken''. Als die uit staat werkt ''Standaard'' en wordt ''3,00'' een getal, maar ''€ 3,00'' een tekst..






Gewoon even aangeven welke cellen een geldbedrag bevatten;

https://help.libreoffice.org/Calc/Cells_in_Currency_Format



In Excel zal zoiets ook wel kunnen. Je moet sowieso aangeven welke cellen je wilt optellen.
Het werkt niet. Je importeert teksten zoals "€3,00". Bij Excel wordt dat omgezet in de celinhoud 3 (te zien in het invoer/bewerkingsvenster) met valuta-opmaak, zodat je in de cel € 3,00 ziet, maar bij LibreOffice blijft het een tekst (te zien in het invoer/bewerkingsvenster, nu met een apostrof ervoor: '€3,00). Alleen door de apostrof in elke cel weg te halen worden het getallen in valuta-opmaak.
201902 28 13:25

De handigste oplossing lijkt me daarom de eurotekens uit het csv-bestand te verwijderen, dat kan ook met Kladblok/Notepad ("alles vervangen"). Voor een oude versie van Excel kan UTF-8 omzetten in ANSI in één moeite door, maar bij de reishistorie van NS maakt dat dan volgens mij niet meer uit.
Of je gebruikt de functie voor het importeren van csv-bestanden waar @Robert B eerder al op wees. Deze is precies bedoeld om met dit soort verschillen om te kunnen gaan. Tip voor de digibeten onder ons die dit te veel op 'programmeren' vinden lijken: onder in dit scherm zie je klein het resultaat vast en kun je nog makkelijk terug als het er anders uitziet dan je bedoeling was en je dus nog iets aan moet passen.


201902 28 20:33

Ik heb nog steeds Excel 2000, die ondersteunt geen UTF-8.



Overigens is het ''resultaat'' dat je ziet (althans bij LibreOffice) niet eenduidig, je ziet wat je in de cellen gaat zien, maar niet of het tekst is of iets waar je mee kan rekenen.

Voorheen waren de CSV-bestanden vanuit Mijn NS gescheiden door puntkomma's en dan zijn die aanhalingstekens eigenlijk niet eens nodig. Voorbeeldje hier.

Dat was ideaal natuurlijk, want wie gebruikt waar ooit die puntkomma (semicolon) in dit soort bestanden, anders dan als scheidingsteken?

Maar die hadden dus geen kolom af/bij, plus ontbrekende inchecktijden en ook geen eurotekens. Vooral dat eerste was natuurlijk super onhandig bij het optellen, en de bedragen hadden geen 2 decimalen, ziet er ook niet uit.

Voor Excel is het euroteken dus wel prettig, want dan krijg je automatisch netjes bedragen met 2 decimalen.

Maar goed, LibreOffice gebruikers zullen dus wat extra werk moeten doen (CSV in Notepad, alle eurotekens vervangen door niets en die 2 decimalen forceren in de uiteindelijke opmaak). Uiteraard werkt simpelweg opslaan als ANSI ook, want dan zijn de eurotekens ook verdwenen/foetsie.

Ik weet zeker dat de groep Excel-gebruikers aanzienlijk groter is... dus tja, wat is wijsheid 🤔


201903 1 20:45

Mijn voorlopige conclusie is dat bedragen in een csv-bestand daar als getallen in moeten staan, dus zonder valutateken. Dat doet mijn bank ook trouwens, en ov-chipkaart.nl ook. Een valutateken laten zien kan met de opmaakfunctie van het programma.



Het desgewenst na het laden nog even moeten opgeven dat je twee cijfers achter de komma wil is minder ernstig dan dat bedragen tekst worden (nota bene zonder dat je dat direct kan zien) waardoor je er niet mee kan rekenen en optellingen allemaal nul opleveren.
201903 1 20:45

bedragen tekst worden (nota bene zonder dat je dat direct kan zien) waardoor je er niet mee kan rekenen en optellingen allemaal nul opleveren.


201903 3 8:34

In principe is dat niet alleen slecht bruikbaar, maar ook verraderlijk: als je de som bepaalt van een lange kolom niet-negatieve bedragen waarvan er weinig of geen ongelijk aan nul zijn, en je bepaalt de som, en daar komt nul uit, dan zou je ten onrechte concluderen dat alle bedragen nul zijn. Gelukkig kan je (als je de standaarduitlijning gebruikt) aan de uitlijning zien of een bedrag een tekst is of een getal (en in het geval van de NS-reishistorie kan je in LibreOffice ook aan het ontbreken van de spatie achter het euroteken herkennen dat het een tekst is).
Er is gekozen voor het CSV bestandstype omdat dit een vrij universeel bestandstype is, wat door de manier van opslaan makkelijk te importeren is in vele verschillende dataverwerkingsprogramma's.

201903 5 12:49

Ik vind dat een goede keuze, maar zoals hier besproken geven de eurotekens complicaties, die kunnen beter weggelaten worden uit het csv-bestand. Een valutateken laten zien kan met de opmaakfunctie van het programma.

Reageer