Comment créer un fichier Excel en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2020-05-29 13:01:42
Thèmes : webmaster - php - excel
Question

J'ai un array sous la forme suivante :

$tableau = array( 
    ['Nom', 'Age', 'Civil'], 
    ['Laurent', 20, 'Homme'], 
    ['Anne', 25, 'Femme'], 
    ['Martin', 30, 'Homme'] 
);

Comment puis-je créer et insérer ces données dans un fichier Excel avec PHP ?

Réponse

Le plus simple pour générer un fichier Excel en PHP est d'utiliser la fonction native PHP fputcsv(). Cette fonction va générer un fichier CSV compatible Excel.

<?php 
$tableau = array( 
    ['Nom', 'Age', 'Civil'], 
    ['Laurent', 20, 'Homme'], 
    ['Anne', 25, 'Femme'], 
    ['Martin', 30, 'Homme'] 
);
$fp = fopen('fichier.csv', 'w'); 
foreach ($tableau as $data) { 
    fputcsv($fp, $data, ";"); 
} 
fclose($fp); 
?> 

Remarque : Le troisième argument de la fonction fputcsv() permet de définir le caractère qui délimite les cellules Excel ; dans cet exemple on utilise le point virgule.

Remarque : Vous trouverez plus d'information sur la fonction fputcsv(), et sur la manière de créer un fichier Excel en PHP, via cette page du manuel de PHP.