• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP生成Excel, 控制Excel单元格中的换行符

php 搞代码 3年前 (2022-01-23) 28次浏览 已收录 0个评论

公司使用Mantis管理bug, Mantis有一个功能, 将bug导出为Excel,

但是目前的这个mantis版本, 在导出ex本@文来源[email protected]搞@^&代*@码网(搞代gaodaima码cel的时候, "摘要,说明,问题重现步骤说明,附加信息,评论"等等这些信息中,

提交bug时候的回车换行符都不见了, 因为没有了格式, 在excel中读起来很不方便,

这回想改善的便是这个问题,

在使用php做成excel的时候, 如何在一个excel cell内写入换行符, 控制该单元格的格式.

我试验了一下, \r\n在生成excel的时候, 是无效的, 会被过滤调.

但是要是写入<br>, 起到的效果不是单元格内换行, 而是换了一个新的单元格.

google了下, 要想达到单元格内换行的目的, 需要插入下面这个字符串

'<br style="mso-data-placement:same-cell;" />'

另外我调查的过程中, 来发现了另外一个有趣的问题.

前面已经提到, 在用php生成excel的时候, \r\n是不起任何换行作用的, 要想控制换行, 需要借助html标记.

但是, 如果把\r\n夹杂在<pre> </pre>中间,

形如下面这样, 那么, 这时候的\r\n相当于一个<br>, 会在做成的excel中, 新起一个单元格.

写道<pre>
……….\r\n
……….\r\n
……….\r\n
</pre>

这种行为显然也不是我们想要的,

所以还是像下面这样, 把他们统统替换掉吧.

$p_new_lines   = array("\r\n", "\n", "\r","\r\n", "<pre>","</pre>","<br>","</br>","<br/>");  $p_change_line_in_excel_cell = '<br style="mso-data-placement:same-cell;" />';  $p_result = str_replace( $p_new_lines,$p_change_line_in_excel_cell,$p_input);

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP生成Excel, 控制Excel单元格中的换行符

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址