Intégration de phpexcel dans un projet symfony

Un petit article cette fois, pour vous expliquer la démarche à suivre pour intégrer phpexcel à votre projet symfony. Je suppose que votre développement est sous contrôle de version (subversion).

Nous allons commencer par créer notre dossier vendor dans notre dossier lib. Vous pouvez passer cette étape si vous possédez déjà votre dossier vendor (en général, c’est dans ce dossier que j’installe symfony en externals)

mkdir lib/vendor

Nous allons maintenant décharger les librairies phpexcel dans ce dossier avec un lien svn:externals

svn pe svn:externals lib/vendor
PHPExcel svn://svn.phpexcel.net/PHPExcel/branches/v1.6.7/Classes
svn up

A mesure que le projet phpexcel avance, vous avez la possibilité d’effectuer la mise à jour en changeant la chaîne « v1.6.7 » par celle de votre choix.

Attention: Ne pas oublier de vider votre cache

Il nous reste maintenant à ajouter un include path sur les librairies. Nous allons pour cela ajouter un peu de code dans le fichier ProjectConfiguration.class.php se trouvant dans le dossier config:

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
     ...

    // Path sur les lib phpexcel
    sfToolkit::addIncludePath(array(
      realpath(dirname(__FILE__).'/../lib/vendor/PHPExcel'),
    ));
  }
}

Vous êtes maintenant prêt à utiliser les fonctions de phpexcel.

Vous pouvez récupérer la documentation, le code et des exemples sur le site http://www.phpexcel.net.

Bonne découverte.

Share

3 réflexions sur « Intégration de phpexcel dans un projet symfony »

  1. Sympa la petite astuce pour inclure les /lib en autoload …

    Du coup je suppose que ça peut marcher avec Artichow (c’est une lib de génération graphique pour php)

    Bonne article !!

    • Salut saturn1,
      Cette astuce est uniquement pour rendre compatible les « include » dans les diverses classes de phpexcel. Il ne s’agit pas de l’autoload de symfony. Tous les fichiers se trouvant dans le dossier /lib sont chargées automatiquement par symfony.

Répondre à saturn1 Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *