read PageViewLayout
This commit is contained in:
parent
fd4161dcaa
commit
c9610c936f
|
@ -156,6 +156,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
||||||
const XLS_Type_RANGEPROTECTION = 0x0868;
|
const XLS_Type_RANGEPROTECTION = 0x0868;
|
||||||
const XLS_Type_SHEETLAYOUT = 0x0862;
|
const XLS_Type_SHEETLAYOUT = 0x0862;
|
||||||
const XLS_Type_XFEXT = 0x087d;
|
const XLS_Type_XFEXT = 0x087d;
|
||||||
|
const XLS_Type_PAGELAYOUTVIEW = 0x088b;
|
||||||
const XLS_Type_UNKNOWN = 0xffff;
|
const XLS_Type_UNKNOWN = 0xffff;
|
||||||
|
|
||||||
|
|
||||||
|
@ -784,6 +785,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
||||||
case self::XLS_Type_MSODRAWING: $this->_readMsoDrawing(); break;
|
case self::XLS_Type_MSODRAWING: $this->_readMsoDrawing(); break;
|
||||||
case self::XLS_Type_OBJ: $this->_readObj(); break;
|
case self::XLS_Type_OBJ: $this->_readObj(); break;
|
||||||
case self::XLS_Type_WINDOW2: $this->_readWindow2(); break;
|
case self::XLS_Type_WINDOW2: $this->_readWindow2(); break;
|
||||||
|
case self::XLS_Type_PAGELAYOUTVIEW: $this->_readPageLayoutView(); break;
|
||||||
case self::XLS_Type_SCL: $this->_readScl(); break;
|
case self::XLS_Type_SCL: $this->_readScl(); break;
|
||||||
case self::XLS_Type_PANE: $this->_readPane(); break;
|
case self::XLS_Type_PANE: $this->_readPane(); break;
|
||||||
case self::XLS_Type_SELECTION: $this->_readSelection(); break;
|
case self::XLS_Type_SELECTION: $this->_readSelection(); break;
|
||||||
|
@ -4014,6 +4016,43 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read PLV Record(Created by Excel2007 or upper)
|
||||||
|
*/
|
||||||
|
private function _readPageLayoutView(){
|
||||||
|
$length = self::_GetInt2d($this->_data, $this->_pos + 2);
|
||||||
|
$recordData = substr($this->_data, $this->_pos + 4, $length);
|
||||||
|
|
||||||
|
// move stream pointer to next record
|
||||||
|
$this->_pos += 4 + $length;
|
||||||
|
|
||||||
|
//var_dump(unpack("vrt/vgrbitFrt/V2reserved/vwScalePLV/vgrbit", $recordData));
|
||||||
|
|
||||||
|
// offset: 0; size: 2; rt
|
||||||
|
//->ignore
|
||||||
|
$rt = self::_GetInt2d($recordData, 0);
|
||||||
|
// offset: 2; size: 2; grbitfr
|
||||||
|
//->ignore
|
||||||
|
$grbitFrt = self::_GetInt2d($recordData, 2);
|
||||||
|
// offset: 4; size: 8; reserved
|
||||||
|
//->ignore
|
||||||
|
|
||||||
|
// offset: 12; size 2; zoom scale
|
||||||
|
$wScalePLV = self::_GetInt2d($recordData, 12);
|
||||||
|
// offset: 14; size 2; grbit
|
||||||
|
$grbit = self::_GetInt2d($recordData, 14);
|
||||||
|
|
||||||
|
// decomprise grbit
|
||||||
|
$fPageLayoutView = $grbit & 0x01;
|
||||||
|
$fRulerVisible = ($grbit >> 1) & 0x01; //no support
|
||||||
|
$fWhitespaceHidden = ($grbit >> 3) & 0x01; //no support
|
||||||
|
|
||||||
|
if ($fPageLayoutView === 1) {
|
||||||
|
$this->_phpSheet->getSheetView()->setView(PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT);
|
||||||
|
$this->_phpSheet->getSheetView()->setZoomScale($wScalePLV); //set by Excel2007 only if SHEETVIEW_PAGE_LAYOUT
|
||||||
|
}
|
||||||
|
//otherwise, we cannot know whether SHEETVIEW_PAGE_LAYOUT or SHEETVIEW_PAGE_BREAK_PREVIEW.
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read SCL record
|
* Read SCL record
|
||||||
|
|
Loading…
Reference in New Issue