検索
ホームページバックエンド開発PHPの問題phpでエクスポートしたエクセルファイルが文字化けする問題を解決する方法

PHP でエクスポートされた Excel ファイルの文字化けの解決策: 最初に関連するスクリプト データを処理し、次に Excel ファイルを出力する前に「ob_end_clean()」関数を追加します。この関数はバッファをクリアして出力バッファを閉じるために使用されます。 。

phpでエクスポートしたエクセルファイルが文字化けする問題を解決する方法

#php エクスポート Excel ファイルが文字化けする問題

PHP を使用して Excel ドキュメントをエクスポートする場合、場合によってはエクスポートされたデータは不可解に文字化けして表示されます。ここで、普遍的な修復方法をお勧めします。

早速、コードに直接進みましょう。

核心は、Excel を出力する前に ob_end_clean(() を追加することです。 ) 関数; 詳細については、サンプル コードを参照してください。コードの一部のみがここにリストされています

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;

上の赤いマークのコードに示されているように、この方法がまだ機能しない場合は、試してください。 iconv() 関数を使用する場合、具体的な使い方はここでは詳しく説明しませんが、Baidu で推奨してください

: "

PHP Tutorial"

関連紹介:

ob_end_clean — バッファをクリア (消去) し、出力バッファを閉じます

説明

ob_end_clean (void): bool

この関数は、最上位の出力バッファを閉じ、バッファを閉じます。バッファの内容をさらに処理したい場合は、ob_end_clean() を呼び出すとバッファの内容が破棄されるため、ob_end_clean() の前に ob_get_contents() を呼び出す必要があります。

戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。エラーの最初の理由は、呼び出し時にアクティブなバッファーがないか、何らかの理由でバッファー (おそらく特殊なバッファーの場合) を削除できないことです。

エラー/例外

関数が失敗すると、E_NOTICE 例外が発生します。

以上がphpでエクスポートしたエクセルファイルが文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい