Почему строка врезается в ячейку в 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;

1 ответ

В строках 3 и 4 вашей таблицы код объединяет столбцы.

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

Чтобы не обрезать текст для строки 4, объедините больше столбцов.

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

Вы также можете написать некоторую логику, чтобы точно определить, сколько столбцов нужно объединить, исходя из длины текста.

Другие вопросы по тегам