Puis-je créer de manière fiable des documents Excel à partir d'une application PHP sur un serveur Linux?

StackOverflow https://stackoverflow.com/questions/226052

  •  03-07-2019
  •  | 
  •  

Question

Quel est l'état de génération des documents Excel à partir d'une application PHP sur un serveur Linux?

Je suis intéressé par la création de fichiers Excel Office 97 (xls). Mes recherches limitées sur le sujet ont permis de trouver ce paquet Pear . Il semble être en version bêta depuis 2006.

Pouvez-vous partager votre succès ou vos échecs lors de la génération de fichiers Excel à partir de PHP? Existe-t-il un outil fiable et évolué?

Mise à jour: pour cette application, je dois générer un fichier Excel, pas seulement un fichier CSV.

Était-ce utile?

La solution

Il y a quelque chose de bien meilleur que le paquet PEAR!

PHPExcel

Autres conseils

J'ai utilisé ce package PEAR et il fonctionne très bien pour les fichiers compatibles Office '97 -2000.

S'il s'agit d'une simple feuille de calcul, Office peut également gérer les fichiers CSV, ce que PHP peut générer en mode natif et facilement .

Pourquoi ne pas utiliser des tableaux (une feuille de calcul est un tableau, donc tout va bien) et jeter ces lignes au-dessus du script PHP produisant le (s) tableau (s):

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

Vous pouvez également créer un fichier CSV, car Excel peut ouvrir ces fichiers correctement.

J'ai utilisé le package PEAR avec beaucoup de succès, mais l'implémentation de formules complexes présente certaines limites. Cela a quelque chose à voir avec la manière dont Excel stocke la formule, ainsi que le dernier résultat calculé. Parfois, même si la formule est correcte, lors de la première ouverture de la feuille, les cellules sont vides. Une fois que la cellule a le focus et perd le focus, le calcul est effectué et la cellule est remplie.

La bibliothèque est en réalité un port d'une bibliothèque Perl, légèrement plus complète mais qui présente les mêmes problèmes.

J'ai utilisé PERL Spreadsheet :: WriteExcel dans plusieurs projets sans problème. Vous devrez peut-être apporter des correctifs et des wrappers pour améliorer les fonctionnalités et les rendre plus faciles, mais cela ne me dérange pas.

J'aime ça parce que sa plate-forme est indépendante, rapide et facile à installer.

Le moyen le plus simple consiste en effet à utiliser l'en-tête pour "simuler". un fichier Excel. Voici le code pour démarrer un téléchargement sous forme de fichier Excel. Excel du client n’analysera que le code HTML trouvé (tableaux, csv, ...) et l’affichera dans un joli format semblable à Excel.

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");

Tout est en version bêta de nos jours. Avez-vous réellement besoin de fichiers Excel avec forumlas et de tout cela, ou avez-vous simplement besoin d'ouvrir une liste d'enregistrements Excel pour travailler?

Habituellement, j'ai constaté que lorsqu'un client souhaite un fichier Excel, je peux vraiment générer un fichier CSV et le traiter dans Excel et ajouter les formules qu'il souhaite après.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top