[蓝冰原创]PHP生成EXCEL中单元格内换行的解决办法
平常我们用PHP生成EXCEL大都是如下代码:[free]ob_start();
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=report.xls");
echo "公司名称\t公司地址\t公司电话";
echo "西部硅谷\t西安市雁塔中路段26号\t029-85512287";
echo "西部硅谷\t西安市雁塔中路段26号\t029-85512287";
echo "西部硅谷\t西安市雁塔中路段26号\t029-85512287";[/free]
但如果要在单元格内换行的话,可能不太好弄,一般换行都是\r\n或chr(10).chr(13),如果直接把\r\n或chr(10).chr(13)插入到字符串中,并不是在当前单元格内换行,而是另起一行了,这并不是我们想要的效果,如下是解决办法:
[free]
ob_start();
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=report.xls");
echo "公司名称\t公司地址\t公司电话\n";
echo "西部硅谷\t\"西安市雁塔路\r\n中段26号\"\t029-85512287";
echo "西部硅谷\t西安市雁塔路中段26号\t029-85512287";
echo "西部硅谷\t西安市雁塔路中段26号\t029-85512287"; [/free]
现在看看第二行的效果,单元格内的文字已经换行了!
我们是用双引号把要换行的文字引了起来,这样就可以在文字中换行了。但如果我们的文字中有双引号,那我们怎么才能把双引号和上面引用文字的双引号不起冲突呢?这当然是有办法的,我们要对文字内的双引号进行处理,处理办法如下:[free]
ob_start();
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=report.xls");
echo "\"\"\"我被双引号括引来了\"\"\r\n我换行了\"\t我没有被引号括起来";[/free]
双引号(")要处理成两个双引号(""),在PHP中要单独对双引号转义,PHP中的转义符是(\)。引号比较多,但都有意义的,不能少一个。
牛啊 羡慕啊
页:
[1]