Rumah > pembangunan bahagian belakang > tutorial php > 导出excel表时本来是一个字段里的内容,导出来时却到了第二行

导出excel表时本来是一个字段里的内容,导出来时却到了第二行

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:33:59
asal
1332 orang telah melayarinya

//开始导出
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 $xuhao . "\t";
echo mb_convert_encoding($arr['beizhu'],'GBK','UTF-8') ."\t";
$xuhao = $xuhao + 1;
}

由于数据beizhu在提交时是textarea,所以beizhu这个字段中会含有换行符,导出时,一旦内容里有换行的,那么第二行就会显示到excel表的另一行去,但我想要的是beizhu这个字段里的所有内容只显示在excel表里的“备注”这一格里,请问应该怎么办?


回复讨论(解决方案)

$beizhu = mb_convert_encoding($arr['beizhu'],'GBK','UTF-8');$beizhu = '"' . preg_replace(("/[\r\n]+/", "\n", $beizhu) . '"';echo $beizhu . "\t";
Salin selepas log masuk


即将 回车换行符都换成换行符(Linux 的文档不需要,但考虑到文档可能来自 Windows 或者 Mac,做一下没坏处)
然后用标准的 csv 格式(字段应用双引号括起)包装起来

测试了一下,不必替换回车换行
只需将输出串用双引号包裹起来就可以了

可以了谢谢。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan