Почему строка врезается в ячейку в 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');
Вы также можете написать некоторую логику, чтобы точно определить, сколько столбцов нужно объединить, исходя из длины текста.