- fixed css colors vulnerability
- fixed toHTMLEx css vulnerability
- fixed #157
- Cell comments returns in rowsEx
- hyperlinks moved to rowsEx
- all fields and methods public now
- helper methods is static now
- fixed activeSheet(Tab)
- fixed activeSheet(Tab)
- fixed regex to detect date/datetime in cell
- added $this->sheetMeta($worksheetIndex = null) to get metadata from workbook.xml
- added $this->isHiddenSheet($worksheetIndex)
- deleted $this->sheetNemes (use $this-sheetMetadata)
- fixed readRowsEx (Undefined index: fontId)
- fixed rowsEx(), format returns now
- Added requirements PHP 5.5+ in composer.json and README.md
- PHP 5 generators capability, thx maxiben
- fixed basic usage example
- 1.0 VERSION: Memory and styles
- PHP 5.5+, namespace
Shuchkin
, 4 spaces indents - memory: added readRows() and readRowsEx() returns Generator. Help to read huge files
- memory: in my tests ~100k rowsEx() used 880 MB, readRowsEx() used 162 MB
- memory: added SimpleXLSXEx companion class for extract styles, used in rowsEx & toHTMLEx() only
- styles: alignment, fonts, fills, borders
- styles: rowsEx() return style info, cell width & height, css to apply in TD tag
- styles: added toHTMLEx() to export worksheet to HTML formatted table
- fixed author in license.md
- fixed examples
- type "str" (formula and value)
- class namespaced as Shuchkin\SimpleXLSX
- fixed reading from XML datetime as float and datetime as ISO
- getting xml error
- added LIBXML_COMPACT | LIBXML_PARSEHUGE
- added $xlsx->activeSheet (thx reptile)
- added $limit to $xlsx->rows( $sheetIndex = 0, $limit = 0 ) and to $xlsx->rowsEx( $seetIndex = 0, $limit = 0)
- Anyway SimpleXML loaded all XML data, so memory economy is minimal
- prevent not exists
cols
notice - if cell type undefined, then parse it as number
- [] to array() for PHP 5.2 backward compatibility. Tested from PHP 5.2.7 to 8.0.9
- Fixed datetime type detection
- ::rowsEx() - returns hidden flag, for hidden cells
- Extract internal links
- x10 fastest getCell, thx Jonowa
- for xpath idea / all private methods protected now.
- fixed lost hash of hyperlinks
- libxml_disable_entity_loader and PHP 8, thx iKlsR
- fixed empty shared strings xml
- fixed hyperlinks
- fixed version number, added relative pathes a/../b support in relations
- fixed abs pathes in relations
- fixed LibreOffice xml specificity, thx stephengmatthews
- fixed Office for Mac relations
- removed skipEmptyRows property (xml optimization always), added static parseFile & parseData
- remove empty rows (opencalc)
- changed formats source priority
- skipEmptyRows improved
- fixed release version
- removed list( $x, $y ), added bool $xlsx->skipEmptyRows, $xlsx->parseFile( $filename ), $xlsx->parseData( $data ), release 0.8.8
- empty rows fixed, release 0.8.7
- 1900/1904 bug fixed
- SimpleXLSX::ParseErrno(), $xlsx->errno() returns error code
- detect datetime values, mb_string.func_overload=2 support .!. Bitrix
- getCell - fixed empty cells and rows, safe now, but very slow
- fix empty cells and rows in rows() and rowsEx(), added setDateTimeFormat( $see_php_date_func )
- rename simplexlsx.php to SimpleXLSX.php, rename parse_error to parseError fix _columnIndex, add ->toHTML(), GNU to MIT license
- get sheet indexes bug fix
- $worksheet_id to $worksheet_index, sheet numeration started 0
- rowsEx(), added row index "r" to cell info
- fixed getCell, returns NULL if not exits
- fixed sheetNames() (namespaced or not namespaced attr)
- remove namespace prefixes (hardcoded)
- XML External Entity (XXE) Prevention (]>)
- if worksheet_id === 0 (default) then detect first sheet (for LibreOffice capabilities)
- ->getCell() - fixed
- ::parse_error() - to get last error in "static style"
- ->_parse fixed relations reader, added ->getCell( sheet_id, address, format ) for direct cell reading
- ::parse( $filename ) helper method
- License added
- fixed timestamp()
- fixed search entries (UPPERCASE)
- $xlsx->datetime_format to force dates out
- fixed dimension() where 1 row only, fixed rowsEx() empty cells indexes (Daniel Stastka)
- fixed unzip (mac), added $debug param to _constructor to display errors
- +entryExists()
- fixed sheetName()
- rowsEx(), _parse(): fixed date column type & format detection
- rowsEx(): fixed formulas, added date type 'd', added format 'format' dimension(): fixed empty sheet dimension + sheetNames() - returns array( sheet_id => sheet_name, sheet_id2 => sheet_name2 ...)
- fixed empty cells, rowsEx() returns type and formulas now
- removed "raise exception" and fixed _unzip
- success(), error(), __constructor( $filename, $is_data = false )
- sheetName() fixed
- sheetName()
- sheets(), sheetsCount(), unixstamp( $excelDateTime )
- fixed empty cells (Gonzo patch)