Heim >Backend-Entwicklung >PHP-Problem >So lösen Sie das Problem verstümmelter Zeichen, die per PHP nach Excel exportiert werden
Lösung für den von PHP nach Excel exportierten verstümmelten Code: Öffnen Sie zuerst die entsprechende PHP-Codedatei und fügen Sie dann nach der Verarbeitung der Daten und vor der Ausgabe der Excel-Datei die Funktion ob_end_clean hinzu, um das Problem mit dem verstümmelten Code zu lösen.
Empfohlen: „PHP-Video-Tutorial“
php verstümmelten Excel-Code exportieren
Verwenden Sie PHP, um Excel-Dokumente zu exportieren. Manchmal werden die exportierten Daten ohne Grund verstümmelt. Jetzt empfehle ich eine universelle Reparatur Methode
Kommen wir ohne weitere Umschweife direkt zum Code
Der Kern besteht darin, die Funktion ob_end_clean() hinzuzufügen, bevor die Excel-Datei nach der Verarbeitung der Daten ausgegeben wird. Einzelheiten finden Sie im Beispielcode. Hier ist nur ein Teil des Codes aufgeführt
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;
Wenn diese Methode immer noch nicht funktioniert, versuchen Sie bitte, die Funktion iconv() zu verwenden. Die spezifische Verwendung wird hier nicht im Detail erklärt
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen, die per PHP nach Excel exportiert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!