2010-02-18 11 views
2

Je dois mettre en œuvre une fonctionnalité où un utilisateur peut télécharger un fichier Excel, c'est le fichier .xls et j'ai besoin d'écrire une fonction qui va lire ce fichier, puis enregistrer les valeurs dans une table, comparez-les aux valeurs d'une autre table et imprimez une sorte de devis. D'après ce que j'ai lu, il semble que la meilleure façon de le faire est de convertir ce fichier dans un fichier xml, puis d'écrire une fonction pour analyser ce fichier xml. Je veux savoir, est-il possible d'écrire une fonction en php qui va convertir un fichier xls en XML. En supposant que les utilisateurs vont enregistrer et télécharger le fichier en tant que xls.Convertir le fichier .xls en XML en utilisant php

Merci.

+0

Quelles sont exactement les raisons pour lesquelles vous convertissez en XML en tant qu'étape intermédiaire? Si vous ne stockez pas le XML, pourquoi ne pas traiter les données directement depuis XLS vers une structure de données que vous utiliserez pour le traitement? – gapple

+0

Je l'ai lu quelque part que la façon la plus simple de manipuler les données dans un fichier Excel est de le convertir en xml. Pouvez-vous me dire où dois-je commencer si je veux traiter les données directement à partir d'un fichier xls? – chupinette

Répondre

1

Une recherche rapide de Google pour "PHP excel parser" apparaît PHP Excel Reader, pour une bibliothèque open source à utiliser pour lire les données de .xls fichiers. Il peut y en avoir d'autres qui répondent à vos besoins.

+0

Merci Pensez-vous qu'il est difficile d'écrire ma propre fonction pour lire un fichier Excel en utilisant PHP? – chupinette

+0

Autant que je sache, les fichiers xls sont dans un format binaire, donc il peut être très difficile de créer votre propre analyseur de fichiers au lieu d'en utiliser un existant. Comme c'est un logiciel open source, ils ont probablement trouvé et corrigé de nombreux bugs que vous rencontrerez vous-même. – gapple

0

J'ai utilisé avec succès le 'ABC Excel Parser Pro' de Zakkis.

Cela permet de convertir un fichier XLS directement dans une table MySQL.

Quelques notes sur les limitations:

    nombre de colonnes
  • doit correspondre exactement aux colonnes de base de données
  • Format Excel 2007 (xlsx) ne sont pas pris en charge
+0

Merci pour votre réponse – chupinette

2

je laisse souvent les utilisateurs admin télécharger un fichier CSV fichier qu'ils ont exporté à partir d'un fichier xcel, il est beaucoup plus simple d'analyser http://php.net/manual/en/function.fgetcsv.php

+0

Totalement, Obtenez l'utilisateur pour télécharger un fichier CSV. Ils peuvent enregistrer au format CSV depuis Excel. – Tim

Questions connexes