Автоматическая высота строки таблицы PHPS не работает с последней версией LibreOffice

Я использую PHPSpreadsheet сейчас, я пытаюсь получить строки для автоматической высоты. Работает нормально в Майкрософт офис Но не работа в LibreOffice.

Вопрос: Как заставить строку авто работать по высоте? LibreOffice Последняя версия. Прекрасно работает в Майкрософт офис.

Autoheight

$spreadsheet->getActiveSheet()->getRowDimension(1)->setRowHeight(-1);

foreach($spreadsheet->getActiveSheet()->getRowDimensions() as $rowID) {
$rowID->setRowHeight(-1);
}

контроллер

<?php

require(APPPATH . 'vendor/autoload.php');

use PhpOffice\PhpSpreadsheet\Spreadsheet;

class Events extends MX_Controller {

public function test() {
$spreadsheet = new Spreadsheet();

$spreadsheet->getProperties()->setCreator('')
->setLastModifiedBy('')
->setTitle('')
->setSubject('')
->setDescription('');

$spreadsheet->getDefaultStyle()->getFont()->setName('Arial');
$spreadsheet->getDefaultStyle()->getFont()->setSize(24);

foreach(range('A','B') as $columnID) {
$spreadsheet->getActiveSheet()->getColumnDimension($columnID)->setAutoSize(true);
}

$spreadsheet->getActiveSheet()->getStyle('A')->getAlignment()->setWrapText(true);

$spreadsheet->getActiveSheet()->getRowDimension(1)->setRowHeight(-1);

foreach($spreadsheet->getActiveSheet()->getRowDimensions() as $rowID) {
$rowID->setRowHeight(-1);
}

$spreadsheet->setActiveSheetIndex(0)
->setCellValue("A1",'Firstname')
->setCellValue("B1",'Lastname')
->setCellValue("A2",'John')
->setCellValue("B2",'Doe');$spreadsheet->getActiveSheet()->setTitle('Users Information');

$spreadsheet->setActiveSheetIndex(0);

/* Here there will be some code where you create $spreadsheet */

// redirect output to client browser
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="myfile.xls"');
header('Cache-Control: max-age=0');

$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xls');
$writer->save('php://output');

exit;

}
}

1

Решение

Попробуйте следующий код

$spreadsheet->getActiveSheet()->getStyle('A1:D4')
->getAlignment()->setWrapText(true);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]