laraver的
maatwebsite/excel 扩展包,
xls格式不支持emoji表情,如果出现emoji表情,本列的数据会从emoji表情下一个开始不显示,csv格式不会出现不显示情况;
有一个方案就是过滤掉表情,函数如下:
/** * * * @param $str * @return $str */public function filterNickname($nickname) { $nickname = preg_replace('/[\x{1F600}-\x{1F64F}]/u', '', $nickname); $nickname = preg_replace('/[\x{1F300}-\x{1F5FF}]/u', '', $nickname); $nickname = preg_replace('/[\x{1F680}-\x{1F6FF}]/u', '', $nickname); $nickname = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $nickname); $nickname = preg_replace('/[\x{2700}-\x{27BF}]/u', '', $nickname); $nickname = str_replace(array('"', '\''), '', $nickname); return addslashes(trim($nickname)); }