protected function finalizeSheet($sheet_name)
{
if (empty($sheet_name) || $this->sheets[$sheet_name]->finalized) {
return;
}
$sheet =& $this->sheets[$sheet_name];
$sheet->file_writer->write('</sheetData>');
if (!empty($sheet->merge_cells)) {
$sheet->file_writer->write('<mergeCells>');
foreach ($sheet->merge_cells as $range) {
$sheet->file_writer->write('<mergeCell ref="' . $range . '"/>');
}
$sheet->file_writer->write('</mergeCells>');
}
$sheet->file_writer->write('<printOptions headings="false" gridLines="false" gridLinesSet="true" horizontalCentered="false" verticalCentered="false"/>');
$sheet->file_writer->write('<pageMargins left="0.5" right="0.5" top="1.0" bottom="1.0" header="0.5" footer="0.5"/>');
$sheet->file_writer->write('<pageSetup blackAndWhite="false" cellComments="none" copies="1" draft="false" firstPageNumber="1" fitToHeight="1" fitToWidth="1" horizontalDpi="300" orientation="portrait" pageOrder="downThenOver" paperSize="1" scale="100" useFirstPageNumber="true" usePrinterDefaults="false" verticalDpi="300"/>');
$sheet->file_writer->write('<headerFooter differentFirst="false" differentOddEven="false">');
$sheet->file_writer->write('<oddHeader>&C&"Times New Roman,Regular"&12&A</oddHeader>');
$sheet->file_writer->write('<oddFooter>&C&"Times New Roman,Regular"&12Page &P</oddFooter>');
$sheet->file_writer->write('</headerFooter>');
$sheet->file_writer->write('</worksheet>');
$max_cell = self::xlsCell($sheet->row_count - 1, count($sheet->columns) - 1);
$max_cell_tag = '<dimension ref="A1:' . $max_cell . '"/>';
$padding_length = $sheet->max_cell_tag_end - $sheet->max_cell_tag_start - strlen($max_cell_tag);
$sheet->file_writer->fseek($sheet->max_cell_tag_start);
$sheet->file_writer->write($max_cell_tag . str_repeat(" ", $padding_length));
$sheet->file_writer->close();
$sheet->finalized = true;
}