Merge pull request #2811 from PHPOffice/Ods-Writer-Bugfix-Row-Height

Fix issue with row height styles in Ods Writer
This commit is contained in:
Mark Baker 2022-05-06 21:29:19 +02:00 committed by GitHub
commit 9776efc226
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 11 deletions

View File

@ -199,7 +199,7 @@ class Style
'style:row-height', 'style:row-height',
round($rowDimension->getRowHeight(Dimension::UOM_CENTIMETERS), 3) . 'cm' round($rowDimension->getRowHeight(Dimension::UOM_CENTIMETERS), 3) . 'cm'
); );
$this->writer->writeAttribute('style:use-optimal-row-height', 'true'); $this->writer->writeAttribute('style:use-optimal-row-height', 'false');
$this->writer->writeAttribute('fo:break-before', 'auto'); $this->writer->writeAttribute('fo:break-before', 'auto');
// End // End

View File

@ -151,25 +151,24 @@ class Content extends WriterPart
$cellIterator = $row->getCellIterator(); $cellIterator = $row->getCellIterator();
--$numberRowsRepeated; --$numberRowsRepeated;
if ($cellIterator->valid()) { if ($cellIterator->valid()) {
$objWriter->startElement('table:table-row');
if ($span_row) { if ($span_row) {
$objWriter->startElement('table:table-row');
if ($span_row > 1) { if ($span_row > 1) {
$objWriter->writeAttribute('table:number-rows-repeated', $span_row); $objWriter->writeAttribute('table:number-rows-repeated', $span_row);
} }
if ($sheet->getRowDimension($row->getRowIndex())->getRowHeight() > 0) {
$objWriter->writeAttribute(
'table:style_name',
sprintf('%s_%d_%d', Style::ROW_STYLE_PREFIX, $sheetIndex, $row->getRowIndex())
);
}
$objWriter->startElement('table:table-cell'); $objWriter->startElement('table:table-cell');
$objWriter->writeAttribute('table:number-columns-repeated', (string) self::NUMBER_COLS_REPEATED_MAX); $objWriter->writeAttribute('table:number-columns-repeated', (string) self::NUMBER_COLS_REPEATED_MAX);
$objWriter->endElement(); $objWriter->endElement();
$objWriter->endElement();
$span_row = 0; $span_row = 0;
} else {
if ($sheet->getRowDimension($row->getRowIndex())->getRowHeight() > 0) {
$objWriter->writeAttribute(
'table:style-name',
sprintf('%s_%d_%d', Style::ROW_STYLE_PREFIX, $sheetIndex, $row->getRowIndex())
);
}
$this->writeCells($objWriter, $cellIterator);
} }
$objWriter->startElement('table:table-row');
$this->writeCells($objWriter, $cellIterator);
$objWriter->endElement(); $objWriter->endElement();
} else { } else {
++$span_row; ++$span_row;