Page 1 sur 1
Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 12 juin 2012, 21:43
par debutant10
Bonjour,
comment faire pour convertir un fichier exel pour .txt en CSV avec php ?
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 13 juin 2012, 08:41
par formatt
il y a un truc simple,
quand tu es sur ton fichier, tu fait enregistrer sous, et tu choisis le format .csv, normalement sa marche.
EDIT : je croyait que tu demandais pour pouvoir faire des traitement dessus en php, du coup en php je ne sais pas

désoler
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 13 juin 2012, 09:49
par sirakawa
Je pense qu'on attend encore le kamikaze qui écrira le module excel.php qui fera ce travail.
À ma connaissance, on passe par Excel (ou par OpenOffice Calc)
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 13 juin 2012, 15:49
par Skw33d
comment faire pour convertir un fichier exel pour .txt en CSV avec php ?
C'est assez ambiguë.
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 13 juin 2012, 16:26
par sirakawa
C'est lumineux:
dans la mesure où il existe des fonctions csv, il est naturel de se demander s'il en existe une qui sait lire le format excel.
Il existe de fait, que je n'ai pas testé:
http://phpexcel.codeplex.com/
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 16 juin 2012, 17:39
par debutant10
ma problématique est simple et clair car aujourd'hui je suis obligé de faire manuellement la conversion du fichier excel vers csv avant de le transférer dans ma base

,
Alors comment faire pour le faire automatiquement ?
Merci de votre aide
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 16 juin 2012, 18:51
par Skw33d
Je te conseille de regarder la librairie proposé par sirakawa, j'ai vite fait regardé les exemples dans la documentation, et je pense que ça fait bien ce que tu recherches. A toi de comprendre le fonctionnement de la librairie maintenant.

Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 20 juin 2012, 11:45
par JeromeB51
Bonjour,
J'ai déjà travailler un peu ce genre de sujet et dans ce cas je me fis toujours à ma bible à savoir php.net ...
Et là tu as des fonctions intéressantes comme
http://fr2.php.net/manual/fr/function.fputcsv.php qui te permet d'écrire un fichier csv que tu peux utiliser de cette façon :
Code : Tout sélectionner
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
au préalable tu peux ouvrir ton fichier texte avec un fopen :
http://fr2.php.net/manual/fr/function.fopen.php
du genre :
donc si tu as une structure bien établie dans ton fichier texte ... tu mouline tes infos dans un tableau et après tu peux ecrire avec la fonction fputscsv
Voilà, espérant que cela peux t'avancer ...
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 20 juin 2012, 13:30
par sirakawa
certes, mais au départ on a un fichier excel et le problème premier est de lire ce fichier excel avec php.
Re: Convertir un fichier exel pour .txt en CSV avec php ?
Posté : 08 nov. 2012, 03:02
par Denayer
Il y a une class pour ca (PHPExcell)
Du coup il n'y a plus besoin de convertir en csv.
un petit exemple d'utilisation
Code : Tout sélectionner
<?php
require_once 'Classes/PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load($emplacement_du_fichier_xls_uploade_sur_le_serveur);
$sheet = $objPHPExcel->getSheet(0);
// On boucle sur les lignes
$nbline = 0;
foreach($sheet->getRowIterator() as $row) {
// On boucle sur les cellules de la ligne
$nbcol=0;
foreach ($row->getCellIterator() as $cell) {
$col = ($cell->getValue());
$col = preg_replace('/;/',' ',$col ); //valeur de la cellule
$nbcol++;
}
$nbline ++;
}
echo "il y a $nbline ligne dans le fichier xls<br/>";
echo "il y a $nbcol dans le fichier xls<br/>";
?>
Combiner ca avec un array et tu en fait ce que tu veux.