Je sais que ce n'est pas le bon endroit pour poser cette question vague spécifique, mais peut-être quelqu'un connaît assez bien cette bibliothèque pour m'éclairer. Voici la chose:Les lignes écrites par PHPExcel ne peuvent pas être lues à partir d'autres bibliothèques
J'écris un Excel5 sur un fichier Excel existant avec PHPExcel. J'ai besoin de télécharger cet Excel sur le site Web de Zoom, afin qu'il puisse me fournir une liste de numéros de suivi. Cependant, pour une raison quelconque, la bibliothèque qu'ils utilisent pour lire les fichiers Excel téléchargés ne peut pas lire les lignes écrites par PHPExcel et la seule solution que j'ai trouvée jusqu'à présent est de copier manuellement le contenu de mon Excel généré dynamiquement dans un autre document. 2007
En d'autres termes, le site Web Zoom peut lire les lignes écrites en mode natif par Excel mais pas les lignes écrites par PHPExcel. Mon fichier n'a qu'une seule feuille, et je peux l'ouvrir sans problème avec Excel 2007.
Même si j'ajoute manuellement des lignes au modèle et que j'ajoute plus de lignes avec PHPExcel, Zoom lit les lignes écrites manuellement par moi , mais pas les lignes écrites par PHPExcel.
Voilà comment je fais:
// Starting with the PHPExcel library
$this->load->library('PHPExcel');
$this->load->library('PHPExcel/IOFactory');
$template_file = 'zoom_tracking_template.xls';
$i = 3;
$objReader = IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($template_file);
$objPHPExcel->setActiveSheetIndex(0);
// Fetching ML payments
foreach($payments as $row)
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, 'VANESSA NEISZER');
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, '02127616116');
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i, '1ER PISO MINITIENDAS 199 BLVD SABANA GRANDE, CRUCE C/CALLE NEGRIN');
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $row->mailing_city);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $row->mailing_name);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i, $row->mailing_name);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i, $row->mailing_personal_id);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i, $row->mailing_phone);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i, $row->mailing_address1.' '.$row->mailing_address2);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i, $row->nickname);
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i, '1');
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i, '0.3');
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i, 'M');
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i, 'PRODUCTO');
$objPHPExcel->getActiveSheet()->setCellValue('O'.$i, '0');
$i++;
}
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
// Sending headers to force the user to download the file
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Envios'.date('dMy').'.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
Je n'ai pas la moindre idée de ce que la bibliothèque PHP qu'ils utilisent pour lire les fichiers Excel et je suis certain qu'ils me disent si je coutume leur demande. Je sais qu'ils utilisent PHP, et leur bibliothèque ne lit que les fichiers Excel 2003, cependant, je ne sais pas pourquoi ils ne peuvent pas lire mes fichiers mais ils peuvent lire d'autres fichiers écrits manuellement sur MS Excel.
Tous les indices, idées ou suggestions que je pourrais essayer seraient grandement appréciés.
Quelle version de PHPExcel ?: PHPExcel 1.7.3c Production - Est-ce que l'une des données contiennent des caractères UTF-8 ?: Oui, ils viennent UTF-8 codé de la base de données et ils sont insérés dans les zones intactes Excel . - Y a-t-il des formules dans la feuille de travail de modèle?: Pas du tout, c'est un en-tête de base avec quelques couleurs, c'est tout. Juste un texte clair. –