$_data
$_data : string
The string containing the data of the BIFF stream
PHPExcel_Writer_Excel5_Workbook
$_data : string
The string containing the data of the BIFF stream
$_datasize : int
The size of the data in bytes. Should be the same as strlen($this->_data)
$_limit : int
The maximum length for a BIFF record (excluding record header and length field). See _addContinue()
$_biffsize : int
The BIFF file size for the workbook.
$_palette : array
Array containing the colour palette
$_codepage : int
The codepage indicates the text encoding used for strings
$_country_code : int
The country code used for localization
$_byte_order : int
The byte order of this architecture. 0 => little endian, 1 => big endian
$_parser : \PHPExcel_Writer_Excel5_Parser
Formula parser
$_xfWriters : \PHPExcel_Writer_Excel5_Xf[]
XF Writers
$_phpExcel : \PHPExcel
Workbook
$_fontWriters : \PHPExcel_Writer_Excel5_Font[]
Fonts writers
$_addedFonts : array
Added fonts. Maps from font's hash => index in workbook
$_numberFormats : array
Shared number formats
$_addedNumberFormats : array
Added number formats. Maps from numberFormat's hash => index in workbook
$_worksheetSizes : array
Sizes of the binary worksheet streams
$_worksheetOffsets : array
Offsets of the binary worksheet streams relative to the start of the global workbook stream
$_str_total : int
Total number of shared strings in workbook
$_str_unique : int
Number of unique shared strings in workbook
$_str_table : array
Array of unique shared strings in workbook
$_escher : \PHPExcel_Shared_Escher
Escher object corresponding to MSODRAWINGGROUP
__construct(\PHPExcel $phpExcel = null, int $str_total, int $str_unique, array $str_table, array $colors, mixed $parser) : mixed
Class constructor
\PHPExcel | $phpExcel | The Workbook |
int | $str_total | Total number of strings |
int | $str_unique | Total number of unique strings |
array | $str_table | String Table |
array | $colors | Colour Table |
mixed | $parser | The formula parser created for the Workbook |
_addContinue(string $data) : string
Excel limits the size of BIFF records. In Excel 5 the limit is 2084 bytes. In Excel 97 the limit is 8228 bytes. Records that are longer than these limits must be split up into CONTINUE blocks.
This function takes a long BIFF record and inserts CONTINUE records as necessary.
string | $data | The original binary data to be written |
A very convenient string of continue blocks
_writeDefinedNameBiff8(string $name, string $formulaData, string $sheetIndex, bool $isBuiltIn = false) : string
Write a DEFINEDNAME record for BIFF8 using explicit binary formula data
string | $name | The name in UTF-8 |
string | $formulaData | The binary formula data |
string | $sheetIndex | 1-based sheet index the defined name applies to. 0 = global |
bool | $isBuiltIn | Built-in name? |
Complete binary record data
_writeShortNameBiff8(string $name, string $sheetIndex, int[][] $rangeBounds, bool $isHidden = false) : string
Write a short NAME record
string | $name | |
string | $sheetIndex | 1-based sheet index the defined name applies to. 0 = global |
int[][] | $rangeBounds | range boundaries |
bool | $isHidden |
Complete binary record data
_writeExterncount(int $cxals) : mixed
Write BIFF record EXTERNCOUNT to indicate the number of external sheet references in the workbook.
Excel only stores references to external sheets that are used in NAME. The workbook NAME record is required to define the print area and the repeat rows and columns.
A similar method is used in Worksheet.php for a slightly different purpose.
int | $cxals | Number of external references |
_writeExternsheet(string $sheetname) : mixed
Writes the Excel BIFF EXTERNSHEET record. These references are used by formulas. NAME record is required to define the print area and the repeat rows and columns.
A similar method is used in Worksheet.php for a slightly different purpose.
string | $sheetname | Worksheet name |
_writeNameShort(int $index, int $type, int $rowmin, int $rowmax, int $colmin, int $colmax) : mixed
Store the NAME record in the short format that is used for storing the print area, repeat rows only and repeat columns only.
int | $index | Sheet index |
int | $type | Built-in name type |
int | $rowmin | Start row |
int | $rowmax | End row |
int | $colmin | Start colum |
int | $colmax | End column |
_writeNameLong(int $index, int $type, int $rowmin, int $rowmax, int $colmin, int $colmax) : mixed
Store the NAME record in the long format that is used for storing the repeat rows and columns when both are specified. This shares a lot of code with _writeNameShort() but we use a separate method to keep the code clean.
Code abstraction for reuse can be carried too far, and I should know. ;-)
int | $index | Sheet index |
int | $type | Built-in name type |
int | $rowmin | Start row |
int | $rowmax | End row |
int | $colmin | Start colum |
int | $colmax | End column |
_writeSharedStringsTable() : string
Handling of the SST continue blocks is complicated by the need to include an additional continuation byte depending on whether the string is split between blocks or whether it starts at the beginning of the block. (There are also additional complications that will arise later when/if Rich Strings are supported).
The Excel documentation says that the SST record should be followed by an EXTSST record. The EXTSST record is a hash table that is used to optimise access to SST. However, despite the documentation it doesn't seem to be required so we will ignore it.
Binary data