private function writeTable()
{
// table:table
$this->xmlContent->startElement('table:table');
$this->xmlContent->writeAttribute('table:name', 'table-local');
// table:table-header-columns
$this->xmlContent->startElement('table:table-header-columns');
// table:table-column
$this->xmlContent->startElement('table:table-column');
// > table:table-column
$this->xmlContent->endElement();
// > table:table-header-columns
$this->xmlContent->endElement();
// table:table-columns
$this->xmlContent->startElement('table:table-columns');
// table:table-column
$this->xmlContent->startElement('table:table-column');
if (!empty($this->arrayData)) {
$rowFirst = reset($this->arrayData);
$this->xmlContent->writeAttribute('table:number-columns-repeated', count($rowFirst) - 1);
}
// > table:table-column
$this->xmlContent->endElement();
// > table:table-columns
$this->xmlContent->endElement();
// table:table-header-rows
$this->xmlContent->startElement('table:table-header-rows');
// table:table-row
$this->xmlContent->startElement('table:table-row');
if (!empty($this->arrayData)) {
$rowFirst = reset($this->arrayData);
foreach ($rowFirst as $key => $cell) {
// table:table-cell
$this->xmlContent->startElement('table:table-cell');
if (isset($this->arrayTitle[$key - 1])) {
$this->xmlContent->writeAttribute('office:value-type', 'string');
}
// text:p
$this->xmlContent->startElement('text:p');
if (isset($this->arrayTitle[$key - 1])) {
$this->xmlContent->text($this->arrayTitle[$key - 1]);
}
// > text:p
$this->xmlContent->endElement();
// > table:table-cell
$this->xmlContent->endElement();
}
}
// > table:table-row
$this->xmlContent->endElement();
// > table:table-header-rows
$this->xmlContent->endElement();
// table:table-rows
$this->xmlContent->startElement('table:table-rows');
foreach ($this->arrayData as $row) {
// table:table-row
$this->xmlContent->startElement('table:table-row');
foreach ($row as $cell) {
// table:table-cell
$this->xmlContent->startElement('table:table-cell');
$cellNumeric = is_numeric($cell);
$this->xmlContent->writeAttributeIf(!$cellNumeric, 'office:value-type', 'string');
$this->xmlContent->writeAttributeIf($cellNumeric, 'office:value-type', 'float');
$this->xmlContent->writeAttributeIf($cellNumeric, 'office:value', $cell);
// text:p
$this->xmlContent->startElement('text:p');
$this->xmlContent->text($cell);
// > text:p
$this->xmlContent->endElement();
// > table:table-cell
$this->xmlContent->endElement();
}
// > table:table-row
$this->xmlContent->endElement();
}
// > table:table-rows
$this->xmlContent->endElement();
// > table:table
$this->xmlContent->endElement();
}