With another example , more detailled ...
<?php
define (br,"<br />");
$FichierExcel = 'example1.xls';
list($Classeur,$Message) = OuvrirLecture($FichierExcel);
echo $Message.br;
# =================================================================== Ouvrir un classeur en LECTURE (avec load générique)
function OuvrirLecture($FichierExcel) {
# $FichierExcel Chemin complet du fichier EXCEL à lire (absolu ? ca doit marcher aussi pour le relatif)
# $Onglets [option] Tableau des NOMS des onglets à lire
# --------------------------------------------------------------- Contrôle du fichier d'entrée
$NomFichier = basename($FichierExcel);
if (!file_exists($FichierExcel)) {
$Message = "le fichier '".$NomFichier."' n'existe pas ";
} else {
echo get_include_path().br;
require_once 'PHPExcel/IOFactory.php';
$Type = PHPExcel_IOFactory::identify($FichierExcel); # Identify the type of $FichierExcel
echo "Type:".$Type."!".br;
$Lecteur = PHPExcel_IOFactory::createReader($Type); # Create a new Reader of the type that has been identified
echo br;
$Classeur = $Lecteur->load($FichierExcel); # Load $FichierExcel to a PHPExcel Object
$Classeur->setReadDataOnly(true); # Plus rapide 108 à 18 secondes !!!
# --------------------------------------------------------------- Analyse des entrées
if (func_num_args() > 1) {
$Onglets = func_get_arg(1);
} else {
$Onglets = array();
}
if (!is_array($Onglets)) {
$Message = "La liste des onglets à ouvrir doit être un tableau";
} else {
if (sizeof($Onglets) > 0) { # Si la liste des onglets cherchée est connue ! c'est encore plus rapide
$Classeur->setLoadSheetsOnly($Onglets); # Plus rapide 18 à 6 secondes ?
} else {
$Classeur->setLoadAllSheets();
}
}
}
return array($Classeur,$Message);
}
The error is ... #Fatal error: Class 'PHPExcel_Reader_' not found in D:\Public\racine\PhpExcel_1.8.0\Classes\PHPExcel\IOFactory.php on line 170
A little subtility of the autoload functions (spl) ?