首頁  >  文章  >  後端開發  >  PHP生成Excel, 控制Excel單元格中的換行符

PHP生成Excel, 控制Excel單元格中的換行符

巴扎黑
巴扎黑原創
2016-11-30 11:49:032176瀏覽

公司使用Mantis管理bug, Mantis有一個功能, 將bug導出為Excel,

但是目前的這個mantis版本, 在導出excel的時候, "摘要,說明,問題重現步驟說明,附加資訊,註解"等等這些資訊,

提交bug時候的回車換行符都不見了, 因為沒有了格式, 在excel中讀起來很不方便,

這回想改善的便是這個問題,

在使用php做成excel的時候, 如何在一個excel cell內寫入換行符, 控制該單元格的格式.

我試驗了一下, rn在生成excel的時候, 是無效的, 會被過濾調.

但是要是寫入
, 起到的效果不是單元格內換行, 而是換了一個新的單元格.

google了下, 要想達到單元格內換行的目的, 需要插入下面這個字符串  

&#39;<br style="mso-data-placement:same-cell;" />&#39;

另外我調查的過程中, 來發現了另外一個有趣的問題.

前面已經提到, 在用php生成excel的時候, rn是不起任何換行作用的, 要想控制換行, 需要藉助html標記.

但是, 如果把rn夾雜在

 
中間,

形如下面這樣, 那麼, 這時候的rn相當於一個
, 會在做成的excel中, 新起一個單元格.

寫道

<br>..........rn<br>..........rn<br>..........rn<br> <p>這種行為顯然也不是我們想要的,</p><p>所以還是像下面這樣, 把他們統統替換掉吧.<span style="line-height: 1.76em;">  </span></p><pre class="brush:php;toolbar:false">$p_new_lines   = array("\r\n", "\n", "\r","\r\n", "<pre class="brush:php;toolbar:false">","
","
","
","
"); $p_change_line_in_excel_cell = &#39;<br style="mso-data-placement:same-cell;" />&#39;; $p_result = str_replace( $p_new_lines,$p_change_line_in_excel_cell,$p_input);


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn