Jump to content

line break within excel cell?


thefortrees

Recommended Posts

Hi all,

 

I am writing to an XML file using PHP then importing the file into Excel as a spreadsheet.

 

Every thing is working fine EXCEPT... I need linebreaks within a string (ie - one cell) and can not figure out/find how to do this. \n and the like do not work properly. Any suggestions?

Link to comment
https://forums.phpfreaks.com/topic/72943-line-break-within-excel-cell/
Share on other sites

How are you creating the Excel file? If you are creating it as a CSV file and just naming it as xls, then that won't work.

 

Here is a function I use and can insert a line break using \n:

 

<?

// Functions for export to excel.
function xlsBOF() { 
 echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); 
 return; 
} 

function xlsEOF() { 
 echo pack("ss", 0x0A, 0x00); 
 return; 
} 

function xlsWriteNumber($Row, $Col, $Value) { 
 echo pack("sssss", 0x203, 14, $Row, $Col, 0x0); 
 echo pack("d", $Value); 
 return; 
} 

function xlsWriteLabel($Row, $Col, $Value ) { 
 $L = strlen($Value); 
 echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); 
 echo $Value; 
 return; 
}

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=orderlist.xls "); 
header("Content-Transfer-Encoding: binary ");

xlsBOF();

$text = "This is a \n label with \n line breaks";
$number = "12345";

xlsWriteLabel(0,0,$text);
xlsWriteNumber(0,1,$number);

xlsEOF();
exit();
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.