2011-05-11 60 views
39

我有PHP的問題出類拔萃,使細胞中的新線路,如何使用phpexcel

我想使新的生產線在一個小區,但我做不到,我已經嘗試使用\ n或< BR/>但它沒有工作。這我的代碼:

$objPHPExcel->getActiveSheet()->setCellValue('H5', 'Hello\nWorld'); // i need this show in two line 
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true); 

fyi:我的格式excel是xls不是xlsx。 非常感謝:)

+2

您的實際代碼參考單元格H5或H% – 2011-05-11 06:43:46

+0

@Mark Ba​​ker,對不起,我只是輸入錯誤。實際上這是針對單元格H5的。我只是更新我的問題,非常感謝:) – bungdito 2011-05-11 06:47:03

+1

好的,第二個問題(看到你在編輯時改變它):'你好\ nWorld'或'你好\ nWorld'?標準的PHP引用字符串適用:雙引號與\ n – 2011-05-11 08:07:59

回答

82
$objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\nWorld"); 
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true); 

對我的作品......

你應該總是使用double quotes當你在一個PHP字符串添加轉義序列。

+4

有所不同如果您正在對通過合併其他單元格創建的單元格執行此操作,則應該指定所有單元格的原始映射。例如,如果你通過合併B2-E6創建B2,那麼getStyle的參數是'B2:E6' – jerrygarciuh 2013-11-23 03:45:07

+0

這是在你的例子中工作,但我想輸出像Hello \ n世界DEMO(新行後你好)。但這裏兩個新行創建如此我如何解決這個問題? – himansu 2015-07-31 07:18:38

+0

適用於雙引號。 – 2017-08-30 05:50:21

19

你應該使用「R」打入新線到Excel使用PHP

,當你在一個PHP字符串添加轉義序列使用雙引號。基於獵食

$objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\r World"); 
    $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true); 
+3

+1 \ r這應該是被接受的答案。 \ r爲我節省一天\ r謝謝。 – 2013-12-02 16:00:47

+1

\ n對我來說工作正常 – 2014-03-10 12:05:17

+0

您可能想嘗試PHP_EOL,因爲新行分隔符是特定於OS的。 – 2015-04-13 07:20:18

8

改進的答案和其他

$objPHPExcel 
    ->getActiveSheet() 
    ->setCellValue('H5', "Hello".PHP_EOL." World"); 

$objPHPExcel 
    ->getActiveSheet() 
    ->getStyle('H5') 
    ->getAlignment() 
    ->setWrapText(true); 
+0

'PHP_EOL'在這種情況下是無用的,因爲它會根據運行php腳本的操作系統(很可能是linux/unix服務器)提供EOL字符,但該文件很可能會打開Windows,默認的EOL將會不同。 – mkilmanas 2018-03-02 14:08:51

-1

爲了實現下一行,但同一小區forxcel出口,這是最簡單的解決方案。

<tr> 
    <td style="wrap-text: true"> 
     Test 
     <br /> 
     Test2 
    </td> 
</tr> 
+0

測試
的Test2 – 2017-12-19 05:30:38