CSV bestanden openen in Excel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Martijn Wieringa

Martijn Wieringa

06/11/2009 19:56:00
Quote Anchor link
Beste,

Ik heb een prachtige PHP parser die CSV bestanden uitspuugt. Als je dit CSV bestand open in Excel, is het wenselijk dat deze automatisch het scheidingsteken herkend, en de gegevens netjes in de juiste kolommen plaatst.

Het blijkt echter dat Excel dit alleen automatisch doet wanneer je het juiste scheidingsteken gebruikt (anders moet je een vervelende wizard doorlopen)..

Ook blijkt tevens dat Excel voor de verschillende versies (2000, 2003, 2007) een ander scheidingsteken wenst.. in diverse sites vind ik terug dat soms een TAB gewenst is, soms een KOMMA en soms een PUNT-KOMMA.

Nu wil ik mijn tool dus uitbreiden zodat iemand kan aangeven welke versie van Excel hij/zij gebruikt, zodat het juiste scheidingsteken wordt gebruikt..

Mijn vraag aan (een) van jullie.. heeft iemand dit ooit al eens uitgezocht.. en welk scheidingsteken moet ik voor welke versie van Excel gebruiken?

M.v.g
Pholeron
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
 
PHP hulp

PHP hulp

08/05/2021 22:38:11
 
Jan Koehoorn

Jan Koehoorn

06/11/2009 20:01:00
Quote Anchor link
Ik heb toevallig net iets gemaakt voor de latere versies van Excel. Wat tot nu toe het beste lijkt te werken is een puntkomma als veldscheidingsteken, geen dubbele aanhalingstekens, en een linefeed als recordscheidingsteken.
 
Harry H Arends

Harry H Arends

06/11/2009 20:13:00
Quote Anchor link
Dat wordt een lastig probleem. Heb daar zelf ook als mee te maken gehad.
Het standaard lijstscheidingsteken staat in gesteld binnen Landinstellingen van Windows, zie http://office.microsoft.com/nl-nl/excel/HP100997251043.aspx onderaan, waarbij iedere gebruiken zijn eigen instelling kan maken. Het mooiste zou zijn om in het register van windows aan de client-side de bijbehorende sleutel uit te kunnen lezen en het te generen CSV bestand aan te passen.

Greetz, Harry
 
Martijn Wieringa

Martijn Wieringa

06/11/2009 20:22:00
Quote Anchor link
@Jan
Geen quotes? Hoe wordt het scheidingsteken dan ge-escaped?

@gharryh
Dus eigenlijk ligt het niet alleen aan de versie van Excel, maar aan de (doorgaans default) instellingen van je Windows versie?

Dus eigenlijk moet ik met nog meer varianten rekening houden?!

Ik ga er vanuit dat de eindgebruikers niet aan dergelijke default instellingen zullen klooien.

Windows 2000/ME/XP/Vista/7
In combinatie met
Excel 2000/2003/2007 (zijn er nog meer versies?)
 
Harry H Arends

Harry H Arends

06/11/2009 20:26:00
Quote Anchor link
Ligt er aan wie de eindgebruikers van je bestanden zijn. Je kunt ook denken aan een instructie aan de gebruikers of bij grotere organisaties de beheerder vragen om bij de PC's van die gebruikers de boel standaard op jouw lijst scheidinsteken zetten.
 
Martijn Wieringa

Martijn Wieringa

06/11/2009 21:16:00
Quote Anchor link
Maar voorkeur gaat uit naar een download wizard; waarin mensen kunnen aangeven welke versie van windows/excel ze gebruiken.

Als ik de optie geef download met komma/puntkomma/tab als scheidingsteken, komen ze er zeker niet uit ;)
 
Jan Koehoorn

Jan Koehoorn

06/11/2009 21:20:00
Quote Anchor link
Pholeron schreef op 06.11.2009 20:22:
@Jan
Geen quotes? Hoe wordt het scheidingsteken dan ge-escaped?

Dat doet Excel heel gek: als er een puntkomma in de veldwaarde voorkomt, wordt de dubbele quote het scheidingsteken.

Voorbeeld:
"een;twee";drie;vier
vijf;zes;zeven
 
Martijn Wieringa

Martijn Wieringa

06/11/2009 21:29:00
Quote Anchor link
Euh, huh? :P

Kolom 1 krijgt dan: een;twee
en kolom 2 krijgt dan: drie
en kolom 3 krijgt dan: vier
etc.. toch?

Als dat goed werkt, waarom dan niet alles quote'en?
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
 
Jan Koehoorn

Jan Koehoorn

06/11/2009 21:41:00
Quote Anchor link
Dat heb ik even uitgetest. Stel, je slaat het op die manier op in een CSV bestand, dan laadt Excel het gewoon keurig in. Sla je het daarna met Excel weer op als CSV, dan hebben alleen de cellen waar een ; in stond weer de dubbele quote als scheidingsteken.
 
Martijn Wieringa

Martijn Wieringa

06/11/2009 22:00:00
Quote Anchor link
Okay, maar zodra de CSV export eenmaal is geopend zullen de meeste gebruikers deze toch als .xls opslaan omdat ze de boel mogelijk willen opmaken e.d.; dus dat is geen ramp als na het bewerken de boel anders wordt opgeslagen.

Zolang ik maar kan zeggen dat ik de bestanden goed heb aangeleverd, dan kunnen e hoogstens Excel verfoeien :P
 
Boris Mattijssen

Boris Mattijssen

06/11/2009 22:14:00
Quote Anchor link
Waarom niet iets als:
http://phpexcel.codeplex.com/ ?

Werkt helemaal super vind ik zelf. Gewoon een .xls creëren.

(en je kan dan ook nog eens opmaak e.d. toevoegen).
 
Harry H Arends

Harry H Arends

06/11/2009 23:14:00
Quote Anchor link
@Pholeron: Ik denk persoonlijk dat dat de juiste weg is, het laat de eindgebruiker vrij om er mee te doen wat ze willen, zolang jij maar de juiste hoeveelheid gegevns aanleverd. De vorm moet verwerkbaar zijn.

@brie: Het is een mooi stuk werk wat dar staat maar voor een simpele download na de keuze mogelijkheden wel wat uitgebreid.

Harry
 
Martijn Wieringa

Martijn Wieringa

07/11/2009 08:14:00
Quote Anchor link
@Brie
Ziet er uit als een mooie tool, zeker nuttig voor de toekomst! Alleen jammer dat het pas vanaf Excel2007 werkt.. maar goed, het is dan al bijna 2010 :)
 
TJVB tvb

TJVB tvb

07/11/2009 10:59:00
Quote Anchor link
Pholeron het werkt ook met .xls bestanden alleen een stuk minder snel.
En de office/windows versie is niet interessant, eigenlijk moet je alleen vragen naar de land instelling (en dat zullen de meeste juist niet snappen)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.