2016-05-23 1 views
1

hi im travaillant sur un projet qui affiche le contenu d'un fichier Excel en utilisant php à ce jour voici le code im travaille surlire toutes les feuilles xls et xlsx en utilisant PHPExcel

$inputFileType = 'Excel5'; // Excel2007 for xlsx 
$inputFileName = $opendoc; 

$objReader = PHPExcel_IOFactory::createReader($inputFileType); 
$objPHPExcel = $objReader->load($inputFileName); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
$objw = $objWriter; 
$objw->save('php://output'); 

mon problème est de savoir comment afficher les autres feuilles parce qu'une seule feuille est affichée des idées? Merci beaucoup à l'avance

Répondre

1

Essayez d'ajouter la ligne suivante après la création du lecteur et avant de charger le fichier:

$objReader->setLoadAllSheets(); 

il devient:

$inputFileType = 'Excel5'; // Excel2007 for xlsx 
$inputFileName = $opendoc; 

$objReader = PHPExcel_IOFactory::createReader($inputFileType); 
$objReader->setLoadAllSheets(); 
$objPHPExcel = $objReader->load($inputFileName); 

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
$objw = $objWriter; 
$objw->save('php://output'); 
+0

hi! par exemple j'ai 2 feuilles ce qu'il a fait a été chargé la première feuille deux fois. des idées? – BourneShady

+0

Essayez d'enregistrer dans un format différent, vérifiez s'il exporte les feuilles correctement. Si c'est le cas, il y a un bug dans l'implémentation de la sauvegarde HTML (ils disent dans la documentation qu'il a ses limites). Si cela fonctionne, et qu'il y a un bug dans la sauvegarde du HTML, vous pouvez peut-être faire le vôtre, en sauvegardant séparément chaque feuille dans HTML en boucle. –

2

Par défaut, l'auteur HTML affiche uniquement une seule feuille (la feuille de calcul active en cours).

Vous pouvez modifier cela en appelant la méthode writeAllSheets() de l'enregistreur avant de l'enregistrer.

$objw = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
$objw->writeAllSheets(); 
$objw->save('php://output');