开发的时候需要导出一批数据,为了方便使用的
CSV
格式。当时就只是简单的用逗号分隔,但是因为部分字段含有
换行
符、引号、逗号,导致用Excel打开的时候部分数据错位了,于是又将那几个字段处理了一下。
CSV
文件本质是一种用逗号和(回车)
换行
符分割的文本文件,是可以直接中Excel打开的。
处理方式就是在这个字段前后添加双引号,并且将字段中原有的双引号替换为两个双引号。
* @author pzzhao
* @version 创建时间:2022-5-8 14:46
public class
在写
CSV
文件时,如果要让一个
单元格
内的内容
换行
的话,需要将这个
单元格
的内容都用双引号括起来,如 "aabb",然后在需要
换行
的位置写入
换行
的转义字符,/r/n或者/n,在MSExcel2007中采用的是/n的方法,所以如果用记事本打开已换好行的
CSV
文件是无法显示
换行
效果的,估计是因为记事本(XP中)不支持/n转义字符为
换行
的原因吧,如果用文本文档打开则没有问题。另外,如果采用/r/n的方式则这三种工具都能打开。个人猜想:Excel采用/n的方式大概是出于执行效率的考量吧。
当我们使用
PHP
将采集到的文件内容保存到
csv
文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的
换行
符,空格符等等。
对于空格等处理起来都比较简单,这里我们单独说说
换行
符的处理。
换行
符在html中一般有3种写法:
1. <br>
2. <br/>
3. <br />
我们在做一些系统功能的时候,需要导出相应的报表数据,诚然
PHP
Excel是挺好的,可以设置样式色彩等,更适合阅读体验。但是当数据量大的时候
PHP
Excel就显得捉襟见肘,尤其是上万的数据,从效率性能文件大小等请选择
CSV
。
CSV
是以逗号作为分界符号的,但是我们在有些时候希望有
换行
,譬如一个
单元格
里面希望展示多个用户,以
换行
的形式展示,如下图。在你需要
换行
的时候请使用
PHP
_EOL.直接上代码,如下...
本文转自IT摆渡网欢迎转载,请标明出处。
更多SEO文章请阅读SEO优化网络推广方法 之前写过一篇
php
生成excel的文章 think
php
整合系列之
php
excel生成生成excel文件 但是
php
excel有一个严重的缺点;那就是一个大大的“慢”字; 数据量小的时候还好;当数据量稍微大一点; 那生成excel的过程99.999%的时间都是在那看浏览器转圈了; 那有木有一个效率高点的
PHP
导出
CSV
后,不
换行
分析
大家在做导出
CSV
的时候,是否跟我一样,遇到这样的问题。如下面的代码,正常来说,是没有错误的,导出来,是没有问题,但是,导出来后,用Excel打开时,发现,不
换行
了。
//模似一个从数据库取出来的数据;
$body = "";
$data = array(
array('id'=>1,'name'=>'Intril','sex'