Skip to content

Commit 9776efc

Browse files
authored
Merge pull request #2811 from PHPOffice/Ods-Writer-Bugfix-Row-Height
Fix issue with row height styles in Ods Writer
2 parents 779a5e2 + f7ca14f commit 9776efc

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/PhpSpreadsheet/Writer/Ods/Cell/Style.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ protected function writeRowProperties(RowDimension $rowDimension): void
199199
'style:row-height',
200200
round($rowDimension->getRowHeight(Dimension::UOM_CENTIMETERS), 3) . 'cm'
201201
);
202-
$this->writer->writeAttribute('style:use-optimal-row-height', 'true');
202+
$this->writer->writeAttribute('style:use-optimal-row-height', 'false');
203203
$this->writer->writeAttribute('fo:break-before', 'auto');
204204

205205
// End

src/PhpSpreadsheet/Writer/Ods/Content.php

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -151,25 +151,24 @@ private function writeRows(XMLWriter $objWriter, Worksheet $sheet, int $sheetInd
151151
$cellIterator = $row->getCellIterator();
152152
--$numberRowsRepeated;
153153
if ($cellIterator->valid()) {
154+
$objWriter->startElement('table:table-row');
154155
if ($span_row) {
155-
$objWriter->startElement('table:table-row');
156156
if ($span_row > 1) {
157157
$objWriter->writeAttribute('table:number-rows-repeated', $span_row);
158158
}
159+
$objWriter->startElement('table:table-cell');
160+
$objWriter->writeAttribute('table:number-columns-repeated', (string) self::NUMBER_COLS_REPEATED_MAX);
161+
$objWriter->endElement();
162+
$span_row = 0;
163+
} else {
159164
if ($sheet->getRowDimension($row->getRowIndex())->getRowHeight() > 0) {
160165
$objWriter->writeAttribute(
161-
'table:style_name',
166+
'table:style-name',
162167
sprintf('%s_%d_%d', Style::ROW_STYLE_PREFIX, $sheetIndex, $row->getRowIndex())
163168
);
164169
}
165-
$objWriter->startElement('table:table-cell');
166-
$objWriter->writeAttribute('table:number-columns-repeated', (string) self::NUMBER_COLS_REPEATED_MAX);
167-
$objWriter->endElement();
168-
$objWriter->endElement();
169-
$span_row = 0;
170+
$this->writeCells($objWriter, $cellIterator);
170171
}
171-
$objWriter->startElement('table:table-row');
172-
$this->writeCells($objWriter, $cellIterator);
173172
$objWriter->endElement();
174173
} else {
175174
++$span_row;

0 commit comments

Comments
 (0)