导出csv文件的时候 有的长文本带换行的自动就折行了 可是 我想让他在单元格内换行
贴代码
$str = "操作人,操作,修改项,修改前,修改后,操作时间\n";
$str = iconv('utf-8','gb2312',$str);
while($r=$empire->fetch($sql))
{$data[]=$r;
$name = '"'.getUserName($r['uid']).'"'; //中文转码
$action = '"'.iconv('utf-8','gb2312',str_replace(array("\n","\r",'"'),array("//","//","'"),urldecode($r['action']))).'"';
$time = '"'.date('Y-m-d H:i:s',$r['time']).'"';
$old = '"'.str_replace(array("\n","\r",'"'),array("//","//","'"),urldecode($r['old'])).'"';
$new = '"'.str_replace(array("\n","\r",'"'),array("//","//","'"),urldecode($r['new'])).'"';
$pro_name= getHierarchyName($r['type_id']);
$name = $name ? $name :'已删除或禁用';
$str .= "{$name},{$action},{$pro_name},{$old},{$new},{$time}\n"; //用引文逗号分开
}
$file_name = $file_name? $file_name:'工作组操作日志';
$filename = $file_name.'.csv'; //设置文件名
export_csv($filename,$str);
字符串替换什么的都尝试了 求教
问题解决了 一个不该出换行符的字段出了换行符。很是蛋疼
谢邀!
由于本人用手机查看回复,如果存在排版问题谅解则个。如果只是单元格内换行使用双引号加r没问题,如果说是文本内用单引号不解析换行符就可以了。不知道理解你的意思对不对……
我刚才测试了一下,文件hello.csv的内容是下面这种形式
是可以换行的,同时不影响显示结果,
不谢。另外建议题主去百度了解一下csv的文件内容格式的用法,很简单,我就不扩展了。