2010-07-15 18 views
4

Quelqu'un peut-il recommander une bonne bibliothèque pour lire des fichiers xlsx en utilisant php?lire le fichier xlsx en utilisant php

ive a examiné phpexcel, mais à partir des exemples, il semble qu'il ne supporte que l'écriture?

Répondre

11

Je regarderais encore PHPExcel. PHPExcel a des rédacteurs pour Excel5 (xls), Excel2007 (xlsx), CSV, HTML et PDF; et les lecteurs pour Excel5 (xls), excel2007 (xlsx), XML Excel 2003, CSV, SYLK et Open Office Calc

Il est tout tout à fait clair dans la documentation

EDIT (citant le manuel)

Il existe deux méthodes pour lire dans un fichier dans PHPExcel: en utilisant la résolution automatique de type de fichier ou explicitement.

La résolution automatique de type de fichier vérifie les différents PHPExcel_Reader_IReader distribués avec PHPExcel. Si l'un d'eux peut charger le nom de fichier spécifié, le fichier est chargé en utilisant PHPExcel_Reader_IReader. Le mode explicite vous oblige à spécifier quel PHPExcel_Reader_IReader doit être utilisé.

Vous pouvez créer un mode résolution instance PHPExcel_Reader_IReader en utilisant PHPExcel_IOFactory dans le type de fichier automatique en utilisant l'exemple de code suivant:

$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx"); 

Une utilisation typique de cette fonctionnalité est quand vous avez besoin de lire les fichiers téléchargés par vos utilisateurs, et vous ne savez pas s'ils téléchargent des fichiers xls ou xlsx.

Si vous devez définir certaines propriétés sur le lecteur (par exemple pour lire uniquement les données, voir plus sur cela plus tard), vous pouvez plutôt utiliser cette variante:

$objReader = PHPExcel_IOFactory::createReaderForFile("05featuredemo.xlsx"); 
$objReader->setReadDataOnly(true); 
$objReader->load("05featuredemo.xlsx"); 

Vous pouvez créer un par exemple en utilisant PHPExcel_Reader_IReader PHPExcel_IOFactory en mode explicite en utilisant l'exemple de code suivant:

$objReader = PHPExcel_IOFactory::createReader("Excel2007"); 
$objPHPExcel = $objReader->load("05featuredemo.xlsx"); 

EDIT (préférence personnelle)

Il est également intéressant envelopper votre chargeur dans un try/catch

$fileName = '01simple.xlsx'; 
try { 
    $objPHPExcel = PHPExcel_IOFactory::load($fileName); 
} catch (Exception $e) { 
    die("Error loading file: ".$e->getMessage()."<br />\n"); 
} 
+0

voulez-vous m'envoyer un lien vers la partie réelle dans le document? comme je trouve thier docu assez difficile à trouver quelque chose ... acclamations. – Hailwood

+0

Jetez un coup d'œil à la section 6 de la documentation du développeur, intitulée «Lecture et écriture dans un fichier», en particulier à la sous-section 6.1.1 intitulé "Création de PHPExcel_Reader_IReader à l'aide de PHPExcel_IOFactory" contient des exemples de lecture de fichiers xlsx. –

1

Cela dépend de ce que vous entendez par "lire".

Les fichiers XML Office ne sont que des fichiers zip contenant un ou plusieurs documents XML. N'importe quel analyseur XML ancien devrait pouvoir lire eux.

Faire quelque chose d'utile, intéressant et productif avec les données, d'un autre côté, peut prendre un certain effort.

+0

if (xls == xml) echo 'Ohh ...'; sinon echo 'hmm ...'; – Hailwood

+0

XLS! = XML. XSLX == XML. – Charles