Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn beim Exportieren von Excel aus PHP verstümmelte Zeichen angezeigt werden?

Was soll ich tun, wenn beim Exportieren von Excel aus PHP verstümmelte Zeichen angezeigt werden?

王林
王林Original
2020-11-04 15:14:032609Durchsuche

Lösung für verstümmelte Zeichen beim PHP-Export nach Excel: Verwenden Sie nach der Verarbeitung der Daten und vor der Ausgabe der Excel-Datei die Funktion ob_end_clean(), um den Puffer zu löschen und den Ausgabepuffer zu schließen.

Was soll ich tun, wenn beim Exportieren von Excel aus PHP verstümmelte Zeichen angezeigt werden?

Lösung:

Verwenden Sie nach der Verarbeitung der Daten die Funktion ob_end_clean(), um sie zu verarbeiten, bevor Sie die Excel-Datei ausgeben.

ob_end_clean löscht den Puffer und schließt die Ausgabepufferung. Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.

(Empfohlenes Tutorial: Java-Video-Tutorial)

Ein Teil des Codes lautet wie folgt:

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;

Verwandte Empfehlungen: php-Training

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn beim Exportieren von Excel aus PHP verstümmelte Zeichen angezeigt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn