2013-07-27 2 views
0

PHPExcel을 사용하여 Excel 파일을 만들려고합니다. 소스 데이터는 연관 배열의 배열이며 각각은 이름과 주소를 저장합니다.PHPExcel에서 개행 문자 유지하기

Array 
(
    [0] => Array 
     (
      [name] => Joe Bloggs 
      [address] => 10 Main St 
Bayside 
Big Town ABC123 
    ) 

    [1] => Array 
     (
      [name] => Mary Bloggs 
      [address] => 18 Bridge St 
Riverside 
Small Town XYZ987 
     ) 
    : 
    : 
) 

알다시피 주소에는 개행 문자가 포함되어 있습니다. 나는 다음과 같은 코드를 사용하여 PHP를 사용하여 Excel 파일에 데이터를 쓰고 :

$phpExcel = new PHPExcel(); 

$phpExcel->setActiveSheetIndex(0); 
$phpExcel->getActiveSheet()->getCell('A1')->setValue("Name"); 
$phpExcel->getActiveSheet()->getCell('B1')->setValue("Address"); 
$index = 2; 
foreach($rows as $row) { 
    $phpExcel->getActiveSheet()->getCell('A'.$index)->setValue($row["name"]); 
    $phpExcel->getActiveSheet()->getCell('B'.$index)->setValue($row["address"]); 
    $index++; 
} 
$objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007'); 
$filename = "outputs/excel/data.xlsx"; 
$objWriter->save($filename); 

그러나 결과 Excel 파일 내가 보존 할 개행 문자가 포함되어 있지 않습니다. PHPExcel 웹 사이트에서 comments에서

Name   Address 
Joe Bloggs 10 Main St Bayside Big Town ABC123 
Mary Bloggs 18 Bridge St Riverside Small Town XYZ987 
... 

는,이 작업을 수행 할 수 있어야한다 보인다, 그러나 나는이 작업을 수행하는 방법을 알아낼 수 없습니다.

아무도 도와 줄 수 있습니까? 감사.

답변

4

"\ n"을 반환 문자로 사용합니다. 셀을 wrap으로 설정해야합니다.

$objPHPExcel->getActiveSheet() 
    ->getCell('A1') 
    ->setValue("First line\nSecond Line\nThird Line"); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('A1') 
    ->getAlignment() 
    ->setWrapText(true); 

개발자 문서

6

이 대신 "\ n을"을 사용하여 시도의 섹션 4.6.6에 설명 된대로 :

$lfcr = chr(10) . chr(13); 

후 교체 "\ n"사방 $ LFCR와, like :

setValue("First line". $lfcr . "second Line" . $lfcr . "Third Line"); 
+0

작품 : D ... – aswzen