Maison  >  Article  >  développement back-end  >  Que dois-je faire si des caractères tronqués apparaissent lors de l’exportation d’Excel depuis PHP ?

Que dois-je faire si des caractères tronqués apparaissent lors de l’exportation d’Excel depuis PHP ?

王林
王林original
2020-11-04 15:14:032614parcourir

Solution au code tronqué lors de l'exportation d'Excel depuis PHP : après avoir traité les données et avant de sortir le fichier Excel, utilisez la fonction ob_end_clean() pour vider le tampon et fermer le tampon de sortie.

Que dois-je faire si des caractères tronqués apparaissent lors de l’exportation d’Excel depuis PHP ?

Solution :

Après avoir traité les données, utilisez la fonction ob_end_clean() pour les traiter avant de sortir le fichier Excel.

ob_end_clean efface (efface) le tampon et ferme la mise en mémoire tampon de sortie. Renvoie VRAI en cas de succès ou FAUX en cas d'échec.

(Tutoriel recommandé : Tutoriel vidéo Java)

Une partie du code est la suivante :

foreach ($licenseList as $key => $item) {
                    $objPHPExcel->setActiveSheetIndex(0)
                        ->setCellValue('A' . ($key + 2), $item["company_name"])
                        ->setCellValue('B' . ($key + 2), $item["user_name"])
                        ->setCellValue('C' . ($key + 2), $item["order_number"])
                        ->setCellValue('D' . ($key + 2), $item['apply_type']==2 ? 'official':'trial')
                        ->setCellValue('E' . ($key + 2), $item["license_key"])
                        ->setCellValue('F' . ($key + 2), $statusArr[$item['license_status']])->setCellValue('G' . ($key + 2), $item["user_email"])
                        ->setCellValue('H' . ($key + 2), date('y/m/d H:i:s', strtotime($item['insert_time'])));
                }

                $objPHPExcel->getActiveSheet()->setTitle('Simple');
                $objPHPExcel->setActiveSheetIndex(0);
                ob_end_clean();//解决乱码核心 就在此处添加此函数
                header('Content-Type: application/vnd.ms-excel');
                header('Content-Disposition: attachment;filename="test_list.xls"');
                header('Cache-Control: max-age=0');
                header('Cache-Control: max-age=1');
                header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
                header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
                header('Cache-Control: cache, must-revalidate');
                header('Pragma: public');

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

Recommandations associées : Formation php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn