La génération de gros fichiers Excel à partir de données MySQL avec PHP à partir d'applications de l'entreprise,

Nous sommes en train de développer et de maintenir un couple de systèmes, qui ont besoin d'exporter les rapports au format Excel à l'utilisateur final. Les rapports sont recueillies à partir d'une base de données MySQL avec certains trivial de traitement et habituellement résultat dans ~40000 lignes de données, avec 10 à 15 colonnes, nous nous attendons à ce que la quantité de données à croître de façon constante.

Pour le moment, nous sommes à l'aide de PHPExcel pour Excel génération, mais il ne travaille pas pour nous. Après nous allons au-dessus de 5000 lignes, la consommation de la mémoire et de temps de chargement devenir untolerable, et ne peut pas être résolu par indéfiniment croissante de PHP de limites maximales pour l'utilisation de la mémoire et temps d'exécution du script. Le traitement des données est aussi mince que possible, et tout le problème est avec PHPExcel être un dévoreur de mémoire. CSV génération serait plus léger, mais, malheureusement, nous sommes obligés d'exporter Excel (Excel et seul) de nos services en raison de la demande des utilisateurs. Cela est dû aux exigences de mise en forme, etc., donc CSV n'est pas une option.

Toutes les idées/recommandations pour une application tierce/module/service/qu'est-ce déjà pour générer un grand excelle? N'a pas d'importance si c'est une licence commerciale, tant qu'il correspond à nos besoins, peuvent être intégrés pour les applications PHP existantes et fait son travail. Nos services sont généralement en cours d'exécution sur linux/php/mysql et nous pouvons faire à peu près tout ce que nous devons faire avec les serveurs.

Merci!

Je suis trop familier avec toutes les autres méthodes pour effectivement générer des fichiers xls. Comme vous l'avez dit, de faire un csv et ensuite de faire un xls de qui serait plus rapide :). Avez-vous regarder dans une solution possible pour phpExcel (comme la discussion se passe ici: stackoverflow.com/questions/4817651/...
Est-il une raison précise pour laquelle vous ne souhaitez pas utiliser le format CSV (plusieurs feuilles de calcul, mise en forme, etc)? Aussi, ne vous devez les exporter au format xls ou xlsx (ou il n'a pas d'importance)?
Nanne: autant Que je sache, l'un de nos programmeurs a plus ou moins tout essayé pour faire PHPExcel exécuter aussi léger que possible. Je vais transmettre votre lien avec lui, mais je pense que nous avons déjà essayé. Pouvez-vous recommander des solutions de rechange raisonnables à PHPExcel qui pourraient faire le travail mieux? Bo: les exigences des Utilisateurs (ie. eux ne sachant pas comment faire pour importer CSV correctement ou qui ne veulent pas s'embêter avec elle), la mise en forme et l'intégrité des données, plusieurs feuilles et le lot. XLS les exportations sont le minimum, comme nous l'avons aucun contrôle sur la version d'Excel, les utilisateurs finaux ont, XLSX n'est pas une nécessité, mais un joli bonus.
La seule chose que j'ai trouvé dans le passé, mais rejette moi-même pour plusieurs raisons (des trucs 3ème partie, peu de déviation vraiment, pas d'expérience avec les API, etc) est en le poussant à google spreadsheat l'aide de l'API. Vous ne savez pas si il est possible à tous de télécharger facilement comme un XLS, mais vous pouvez regarder: developers.google.com/google-apps/spreadsheets

OriginalL'auteur lostcontrol | 2012-05-18