我有以下代码
$objPHPExcel->getActiveSheet()->fromArray($DATAARRAY, NULL, 'A1', true);
$HighestCol = $objPHPExcel->getActiveSheet()->getHighestDataColumn();
$HighestRow = $objPHPExcel->getActiveSheet()->getHighestDataRow();
$objPHPExcel->getActiveSheet()->getStyle('A1:'.$HighestCol.'1')->getAlignment()->setWrapText(true);
foreach($objPHPExcel->getActiveSheet()->getRowDimensions() as $rd) {
$rd->setRowHeight(10);
}
$objPHPExcel->getActiveSheet()->setAutoFilter(
$objPHPExcel->getActiveSheet()->calculateWorksheetDimension()
);
PHPExcel_Shared_Font::setAutoSizeMethod(PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT);
foreach(range('A',$HighestCol) as $columnID) {
$objPHPExcel->getActiveSheet()->getColumnDimension($columnID)
->setAutoSize(true);
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="myfile.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
从上面的代码中,我的$ DATAARRAY包含一些在某些单元格中有新行的内容。
当打开Excel文件时,那些假设有新行的单元格要求我双击单元格,以反映正确的高度。
我可以知道我做错了哪一部分。
谢谢。
答案 0 :(得分:0)
以下是我设法找到的解决方案。 (以防任何人需要它)
只需更改行
即可$objPHPExcel->getActiveSheet()->getStyle('A1:'.$HighestCol.'1')->getAlignment()->setWrapText(true);
到这个
$objPHPExcel->getActiveSheet()->getStyle('A1:'.$HighestCol.$HighestRow)->getAlignment()->setWrapText(true);