private function PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForAutofilter in Loft Data Grids 6.2
Same name and namespace in other branches
- 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php \PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForAutofilter()
* Write Defined Name for autoFilter * *
Parameters
PHPExcel_Shared_XMLWriter $objWriter XML Writer: * @param PHPExcel_Worksheet $pSheet * @param int $pSheetId * @throws PHPExcel_Writer_Exception
1 call to PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForAutofilter()
- PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNames in vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Writer/ Excel2007/ Workbook.php - * Write Defined Names * *
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Writer/ Excel2007/ Workbook.php, line 351
Class
- PHPExcel_Writer_Excel2007_Workbook
- PHPExcel_Writer_Excel2007_Workbook
Code
private function _writeDefinedNameForAutofilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) {
// definedName for autoFilter
$autoFilterRange = $pSheet
->getAutoFilter()
->getRange();
if (!empty($autoFilterRange)) {
$objWriter
->startElement('definedName');
$objWriter
->writeAttribute('name', '_xlnm._FilterDatabase');
$objWriter
->writeAttribute('localSheetId', $pSheetId);
$objWriter
->writeAttribute('hidden', '1');
// Create absolute coordinate and write as raw text
$range = PHPExcel_Cell::splitRange($autoFilterRange);
$range = $range[0];
// Strip any worksheet ref so we can make the cell ref absolute
if (strpos($range[0], '!') !== false) {
list($ws, $range[0]) = explode('!', $range[0]);
}
$range[0] = PHPExcel_Cell::absoluteCoordinate($range[0]);
$range[1] = PHPExcel_Cell::absoluteCoordinate($range[1]);
$range = implode(':', $range);
$objWriter
->writeRawData('\'' . str_replace("'", "''", $pSheet
->getTitle()) . '\'!' . $range);
$objWriter
->endElement();
}
}