ホームページ  >  記事  >  バックエンド開発  >  Excel テーブルをエクスポートすると、コンテンツは元々 1 つのフィールドにありましたが、エクスポートすると 2 行目に表示されます。

Excel テーブルをエクスポートすると、コンテンツは元々 1 つのフィールドにありましたが、エクスポートすると 2 行目に表示されます。

WBOY
WBOYオリジナル
2016-06-23 13:33:591224ブラウズ

//エクスポートの開始
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=xueyuan_list_data.xls");

echo mb_convert_encoding('備考', 'GBK','UTF-8')."t";

$xuhao = 1;
foreach($arr_xueyuan_list as $arr)
echo "n";
echo mb_convert_encoding($arr['beizhu'],'GBK','UTF-8') ."t";
$xuhao = $xuhao + 1;

データ送信時は beizhu なので、これはエクスポートすると、フィールドに改行が含まれますが、2 行目は Excel テーブルの別の行に表示されます。しかし、私が望むのは、beizhu フィールド内のすべてのコンテンツのみです。 Excelの表に「備考」欄に表示されているのですが、どうすればよいでしょうか?


ディスカッションへの返信 (解決策)
$beizhu = mb_convert_encoding($arr['beizhu'],'GBK','UTF-8');$beizhu = '"' . preg_replace(("/[\r\n]+/", "\n", $beizhu) . '"';echo $beizhu . "\t";

復帰文字と改行文字を改行文字に置き換えることについて (Linux ドキュメントでは必要ありませんが、ドキュメントが Windows または Mac からのものである可能性があることを考慮して)実行しても害はありません)

その後、標準の CSV 形式でラップします (フィールドは二重引用符で囲む必要があります)

テスト後、キャリッジ リターンとライン フィードを置き換える必要はありません
出力文字列をラップするだけです二重引用符

以上です、ありがとうございます。

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