導出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的檔案內容格式的用法,很簡單,我就不擴充了。