2016-05-09 2 views
0

Я прочитал несколько примеров в Google, но я не могу найти ничего подобного моей проблеме.
Высота ячейки PHPExcel работает только в пустой ячейке

Чтобы установить высоту ячейки я использую:
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(-1);

Это позволит установить высоту ячейки на «авто».
Я предполагаю, что текст/данные будут считать его высотой ?!

Я попробовал несколько значений, как: 4, 10 и т.д ..

Странно, что только клетка без какого-либо текста будет изменить высоту.

Я думаю: имеет ли текст/шрифт значение margin-top?
Я не вижу ни одного предела высоты, поэтому это не должно быть проблемой.

КОД

//Set font Size 
$objPHPExcel->getActiveSheet()->getStyle("A1:I".$highestRow)->getFont()->setSize(4); 

//Set Row size 
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(6); 

Пример

enter image description here

Я хотел бы высоту ячейки, чтобы быть столь же высоте, что и текст!

ответ

0

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

//Loop out data into cells (create excel) 
while($value = $stmt->fetch()){ 

    //Set start Column 
    $column = "A"; 

    //Set row height 
    $objPHPExcel->getActiveSheet()->getRowDimension($row)->setRowHeight(6); 

//Set cell values 
    $objPHPExcel->getActiveSheet()->SetCellValue($column++.$row, $value['value']); 
0

Ограничение высоты строки на самом деле составляет 409.50 (546 пикселей), что является пределом MS Excel для формата OfficeOpenXML (xlsx). Просто PHPExcel не применяет его.

И если вы посмотрите на некоторые из примеров (например, 01Simple.php), вы увидите, что высота устанавливается автоматически для строк 8 и 10. В вашем случае это выглядит так, как будто перед текстом у вас есть символ новой строки вы устанавливаете в своих ячейках, поэтому они охватывают 2 строки, и автоматически настраивается.

+0

Хорошо, поэтому существует ограничение по высоте. Но он не должен взаимодействовать с моим размером шрифта 4. Если я открою экспортированный лист и пометьте ячейку текстом, я не смогу переместить маркер вверх или вниз .. так что кажется, что это только одна строка текста в каждой ячейке. Или я ошибаюсь? –

Смежные вопросы