我们在做一些系统功能的时候,需要导出相应的报表数据,诚然PHPExcel是挺好的,可以设置样式色彩等,更适合阅读体验。但是当数据量大的时候PHPExcel就显得捉襟见肘,尤其是上万的数据,从效率性能文件大小等请选择CSV。
CSV是以逗号作为分界符号的,但是我们在有些时候希望有换行,譬如一个单元格里面希望展示多个用户,以换行的形式展示,如下图。
在你需要换行的时候请使用PHP_EOL.直接上代码,如下所示:
//在你需要换行的时候请使用PHP_EOL
$csvData[] = ['111', '2222', '3333'];
$csvData[] = ['44444', '王大锤'.PHP_EOL.'李大傻', '3333'];
$path = '/tmp/dodobook.csv';
$fp = fopen($path, 'w');
//加上bom头告诉excel软件用utf8格式打开
fputs($fp, (chr(0xEF) . chr(0xBB) . chr(0xBF)));
//循环写数据
foreach($csvData as $row){
fputcsv($fp, $row);
}
fclose($fp);
//就是这么简单粗暴,拿去用。
//此外如果是你采集来的数据,需要替换html中的换行的话,可以使用下面的方式进行替换.
$htmlTag = ['
','
','
'];
$newStr = str_replace($htmlTag, PHP_EOL, $oldStr);
别人永远偷不走的是你心中的梦想与你身上的气质