2017-05-08 1 views
0

Avoir ce projet qui vise à importer une feuille Excel: le fichier est un rapport, pas un fichier plat et il n'y a aucun moyen d'obtenir un tel. J'utilise donc PHP Excel pour lire le fichier et enregistrer les données dont nous avons besoin dans l'application.PHP Excel ne peut pas lire la feuille de calcul Excel 4.0

Problème est que le fichier est au format Excel 4.0 que je ne peux pas éditer (apparemment), il peut être ouvert et consulté dans l'application MS Excel, mais PHP Excel lève l'exception en essayant de le lire avec Excel5:

Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'The filename C:/xampp/htdocs/uploads/PS.xls is not recognised as an OLE file' in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Shared\OLERead.php on line 90 

PHP Excel identifie le fichier comme au format HTML, mais aussi, me jette l'erreur:

Warning: DOMDocument::loadHTML(): Invalid char in CDATA 0x4 in Entity, line: 1 in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Reader\HTML.php on line 495 

Je suppose que cela est beacuse les données contient des caractères spéciaux (UTF-8), mais n'a rien trouvé dans PHPExcel qui pourrait changer l'encodage ... ni l'un ni l'autre ne pouvait trouver quelque chose à propos de ce problème et je commence à penser qu'il n'y a pas de solution pour cela, sauf en demandant à l'utilisateur de copier & coller les données à "décent" fichier Excel ... De cette façon fonctionne, mais nécessitent une manipulation manuelle ...

+0

On dirait que le codage est le problème: $ objReader-> setInputEncoding ('UTF-8'); n'a pas fonctionné non plus. –

Répondre

1

Non, il ne peut pas le lire. La version minimale au format BIFF que PHPExcel peut lire est BIFF 5 (à partir de 1993, il y a 24 ans)

Bonne chance pour trouver quelque chose capable de lire BIFF 4 (à partir de 1992) ... BIFF 4 utilise OLE1, tandis que PHPExcel ne peut lire que Fichiers xls utilisant OLE2 (à partir de BIFF 5). Je ne suis pas au courant de toutes les extensions PHP pur qui peuvent gérer un format si tôt; il se peut que vous deviez utiliser l'extension commerciale LibXl

+0

Merci Mark! Dans ce cas, je vais devoir écrire une macro ou demander à l'utilisateur de copier et coller manuellement les données. –