phpExcelでxls文書が文字化けして出力される問題の解決策
最近、私は主に Excel を読み取って処理するいくつかのレポート システムに取り組んでいます。
以前自分のマシンで開発していたときは、コード化けはありませんでした。
サーバーにデプロイし、Excel をインポートおよびエクスポートしても、コード化けはありません。
その後、同僚のマシンにインストールしたのですが、文字化けが発生して非常にイライラしました。
その後、オンラインでブログ投稿を読み、問題を解決しました。
?
$filename = urlencode("个税表.xls"); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename='.$filename); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');
?
これは私が最初に書いたものですが、一部のマシンではコードが文字化けして表示されます
?
後で次のように変更しました
?
$filename = urlencode("个税表.xls"); ob_end_clean(); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename='.$filename); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');
?
xls ドキュメントを出力する前にキャッシュをクリーンアップする ob_end_clean(); を追加しました。それは問題ありません。
テーブルデータが出力される前に、他のデータが出力されるはずです。まずクリーンアップしてからエクスポートしてください