Avatar billede mbiegel Nybegynder
14. februar 2010 - 22:21 Der er 4 kommentarer

PHP og fpucsv

<?php

$list = array (
  '123;456;789;123',
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
?>
Jeg har denne fil. Arrayet skal jeg have lavet om til en csv fil. Det fungere også fint sådan der og de kommer i hver sin celle i excel.

Problemet er hvis jeg laver mellemrum mellem 7 og 8 eksempelvis, så ser det sådan her ud i excel:
123;456;78 9;123

Og står i en celle istedet for 4 - hvordan løser man det, eller kan man bare ikke lave mellemrum i csv filer?
Avatar billede arne_v Ekspert
14. februar 2010 - 23:39 #1
Tal kan jo ikke indeholde mellemrum.

Enten maa de fjerne de mellemrum inden du put'er eller saa maa du proeve at faa dem opfattet som en strenge ved at putte dem i nogle anfoerselstegn.
Avatar billede mbiegel Nybegynder
15. februar 2010 - 15:52 #2
Det virker ikke med anførselstegn.

Man kan også sætte alm. tekst ind og det er det der skal være. Men det kan man heller ikke lave mellemrum i.
Avatar billede arne_v Ekspert
28. februar 2010 - 22:04 #3
Nu fik jeg lige prøvet.

Den er helt gal med komma versus semikolon.

fputcsv($fp, split(',', $line));
->
fputcsv($fp, split(';', $line), ';');
Avatar billede arne_v Ekspert
28. februar 2010 - 22:05 #4
Og den sætter selv anførselstegn ind når det er nødvendigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester