首页 > 解决方案 > 为什么字符串在phpexcel中的单元格中被剪切

问题描述

我正在研究 phpexcel,我有大约 100 个字符的字符串,我将它放在单元格值中,当我下载该 excel 文件时,它正在被削减,当我点击单元格时,它显示完整的字符串,我想显示完整的字符串,而不是切入单元格,在这里我添加了我的代码,谁能帮我解决这个问题?

当前结果:

在此处输入图像描述

预期结果:

在此处输入图像描述

代码 :

$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1','Report Date : '.date("F d, Y"));
$objPHPExcel->getActiveSheet()->setCellValue('B3','Starting Episodes : December, 2017 (Month)');
$objPHPExcel->getActiveSheet()->setCellValue('B4','Branches : Branches : Columbia , Concord , Madison , Ogden , Springfield , Unmatched ZipColumbia , Concord , Madison , Ogden , Springfield , Unmatched Zip');

$objPHPExcel->getActiveSheet()->getStyle("B3:H3")->getFont()->setSize(16);
$objPHPExcel->getActiveSheet()->getStyle('B3:H3')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->mergeCells('A1:B1');
$objPHPExcel->getActiveSheet()->mergeCells('B3:H3');
$objPHPExcel->getActiveSheet()->mergeCells('B4:H4');

$excel_path =  dirname(__FILE__);   //$_SERVER['DOCUMENT_ROOT']; //dirname(__FILE__);
$save_file_path = $excel_path.'/../../results.xlsx'; 

//echo $save_file_path; die;

ob_clean(); 
//$output=$header."\n".$data;
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
//header('Content-Type: application/vnd.ms-excel');
//header("Content-Disposition: attachment; filename=".$name.".xls");
header("Content-Disposition: attachment; filename=\"$name.xlsx\"");
header("Cache-Control: max-age=0");
header('Content-Transfer-Encoding: binary');
header("Expires: 0");
header("Cache-Control: no-cache");
    header("Pragma: no-cache");
//header('Content-Length: ' . strlen($final_data));



//if (function_exists('mb_internal_encoding'))
//mb_internal_encoding($oldEncoding);

$objWriter->save($save_file_path);
$objWriter->save("php://output");
//ob_clean();   
die;

标签: phpphpexcelphpexcel-1.8.0

解决方案


在电子表格的第 3 行和第 4 行中,代码将列合并在一起。

$objPHPExcel->getActiveSheet()->mergeCells('B3:H3');
$objPHPExcel->getActiveSheet()->mergeCells('B4:H4');

要不切断第 4 行的文本,请将更多列合并在一起。

$objPHPExcel->getActiveSheet()->mergeCells('B4:Z4');

您还可以编写一些逻辑来根据文本的长度准确确定需要合并多少列。


推荐阅读