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

WBOY
發布: 2016-06-23 13:33:59
原創
1242 人瀏覽過

//开始导出
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";
登入後複製


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

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

可以了谢谢。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!