private function PHPExcel_Writer_Excel2007_Worksheet::_writeSheetData in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php \PHPExcel_Writer_Excel2007_Worksheet::_writeSheetData()
* Write SheetData * *
Parameters
PHPExcel_Shared_XMLWriter $objWriter XML Writer: * @param PHPExcel_Worksheet $pSheet Worksheet * @param string[] $pStringTable String table * @throws PHPExcel_Writer_Exception
1 call to PHPExcel_Writer_Excel2007_Worksheet::_writeSheetData()
- PHPExcel_Writer_Excel2007_Worksheet::writeWorksheet in vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Writer/ Excel2007/ Worksheet.php - * Write worksheet to XML format * *
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Writer/ Excel2007/ Worksheet.php, line 959
Class
- PHPExcel_Writer_Excel2007_Worksheet
- PHPExcel_Writer_Excel2007_Worksheet
Code
private function _writeSheetData(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pStringTable = null) {
if (is_array($pStringTable)) {
// Flipped stringtable, for faster index searching
$aFlippedStringTable = $this
->getParentWriter()
->getWriterPart('stringtable')
->flipStringTable($pStringTable);
// sheetData
$objWriter
->startElement('sheetData');
// Get column count
$colCount = PHPExcel_Cell::columnIndexFromString($pSheet
->getHighestColumn());
// Highest row number
$highestRow = $pSheet
->getHighestRow();
// Loop through cells
$cellsByRow = array();
foreach ($pSheet
->getCellCollection() as $cellID) {
$cellAddress = PHPExcel_Cell::coordinateFromString($cellID);
$cellsByRow[$cellAddress[1]][] = $cellID;
}
$currentRow = 0;
while ($currentRow++ < $highestRow) {
// Get row dimension
$rowDimension = $pSheet
->getRowDimension($currentRow);
// Write current row?
$writeCurrentRow = isset($cellsByRow[$currentRow]) || $rowDimension
->getRowHeight() >= 0 || $rowDimension
->getVisible() == false || $rowDimension
->getCollapsed() == true || $rowDimension
->getOutlineLevel() > 0 || $rowDimension
->getXfIndex() !== null;
if ($writeCurrentRow) {
// Start a new row
$objWriter
->startElement('row');
$objWriter
->writeAttribute('r', $currentRow);
$objWriter
->writeAttribute('spans', '1:' . $colCount);
// Row dimensions
if ($rowDimension
->getRowHeight() >= 0) {
$objWriter
->writeAttribute('customHeight', '1');
$objWriter
->writeAttribute('ht', PHPExcel_Shared_String::FormatNumber($rowDimension
->getRowHeight()));
}
// Row visibility
if ($rowDimension
->getVisible() == false) {
$objWriter
->writeAttribute('hidden', 'true');
}
// Collapsed
if ($rowDimension
->getCollapsed() == true) {
$objWriter
->writeAttribute('collapsed', 'true');
}
// Outline level
if ($rowDimension
->getOutlineLevel() > 0) {
$objWriter
->writeAttribute('outlineLevel', $rowDimension
->getOutlineLevel());
}
// Style
if ($rowDimension
->getXfIndex() !== null) {
$objWriter
->writeAttribute('s', $rowDimension
->getXfIndex());
$objWriter
->writeAttribute('customFormat', '1');
}
// Write cells
if (isset($cellsByRow[$currentRow])) {
foreach ($cellsByRow[$currentRow] as $cellAddress) {
// Write cell
$this
->_writeCell($objWriter, $pSheet, $cellAddress, $pStringTable, $aFlippedStringTable);
}
}
// End row
$objWriter
->endElement();
}
}
$objWriter
->endElement();
}
else {
throw new PHPExcel_Writer_Exception("Invalid parameters passed.");
}
}