PHP 生成excel 时 单元格内换行的问题

今天 客户提问题说,导出的excel文件,该换行的单元格没有换行。

翻出来源码开了下,字符串中使用换行的方法为"Name:{$name}\nAddress:{$adress}\nCity:{$city}\nCountry:{$country}\n ......"

既然"\n"起不到换行的目的,修改成"\r\n"看看.

修改 =》 提交 =》测试 

得出的结果还是 没有换行!!!!

难道是操作系统兼容问题??

直接使用php runtime 常量 PHP_EOL 替代 "\r\n"

修改 =》 提交 =》测试

得出的结果还是 没有换行!!!!

什么情况? 不可能这个也解决不了 操作系统兼容性问题的换行符号。

看看到底这个xls文件是怎么用php生成的。

看了下 生成excel的代码,Oh My Lady gaga,原来是用html的格式,只是文件后缀写成xls,既然html的格式,那么应该<br />可以起到换行的效果吧。

继续 

修改 =》 提交 =》测试 

结果是 可以换行了。 可喜可贺啊。问题终于解决了。

告诉老大问题解决,此时心中甚是喜悦啊。

过了一刻钟的样子,老大跑过来说:“换行效果的问题是解决了,但是你看下,数据不好复制了。”

。。。。

省略沟通N句。

把一个单元格的数据复制下,然后 粘贴到 word中。Oh My Lady gaga, 为啥会有border????

到底什么问题?? 使用\n、\r\n 把不能起到换行的相关,使用<br />把效果是有了,但是又出现了新问题。。。 到底如何是好?

没辙了,使用BAIDU google吧。

终于 黄天不负有心人,在http://nece001.blog.163.com/blog/static/85633602008979136966/ 找到了问题的答案。

在<style></styel>标签中追加 CSS样式br {mso-data-placement:same-cell;}

终于 问题 完美解决。

在此多谢“卡卡西的真面目” 这位仁兄 把 知识分享出来。 要不然的话,不知道我还要折腾到什么时候才能解决!!

原文地址:https://www.cnblogs.com/ainiaa/p/1808411.html