************************************************************************************** * PHPExcel * * Copyright (c) 2006 - 2008 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @copyright Copyright (c) 2006 - 2008 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version 1.6.4, 2008-10-27 ************************************************************************************** To be planned: 2008/10/27 (v1.6.4): - General: (ET) Work item 7882 - RK record number error in MS developer documentation: 0x007E should be 0x027E - Feature: (MBaker) Work item 7878 - getHighestColumn() returning "@" for blank worksheet causes corrupt output - Feature: (MBaker) Work item 2346 - Implement ROW and COLUMN Lookup/Reference Functions (when specified with a parameter) - Feature: (MBaker) Work item 2346 - Implement initial work on OFFSET Lookup/Reference Function (returning address rather than value at address) - Feature: (ET) Work item 7416 - Excel5 reader: Page margins - Feature: (ET) Work item 7417 - Excel5 reader: Header & Footer - Feature: (ET) Work item 7449 - Excel5 reader support for page setup (paper size etc.) - Feature: (MB) Work item 7445 - Improve speed and memory consumption of PHPExcel_Writer_CSV - Feature: (MB) Work item 7432 - Better recognition of number format in HTML, CSV, and PDF writer - Feature: (MB) Work item 7485 - Font support: Superscript and Subscript - Feature: (ET) Work item 7509 - Excel5 reader font support: Super- and subscript - Feature: (ET) Work item 7521 - Excel5 reader style support: Text rotation and stacked text - Feature: (ET) Work item 7530 - Excel5 reader: Support for hyperlinks - Feature: (MB, ET) Work item 7557 - Import sheet by request - Feature: (ET) Work item 7607 - PHPExcel_Reader_Excel5 support for page breaks - Feature: (ET) Work item 7622 - PHPExcel_Reader_Excel5 support for shrink-to-fit - Feature: (MB, ET) Work item 7675 - Support for error types - Feature: (ET) Work item 7388 - Excel5 reader true formula support - Feature: (ET) Work item 7701 - Support for named ranges (defined names) in PHPExcel_Reader_Excel5 - Feature: (ET) Work item 7781 - Support for repeating rows and repeating columns (print titles) in PHPExcel_Reader_Excel5 - Feature: (ET) Work item 7783 - Support for print area in PHPExcel_Reader_Excel5 - Feature: (ET) Work item 7795 - Excel5 reader and writer support for horizontal and vertical centering of page - Feature: (MB) Applied patch 1962 - Feature: (ET) Work item 7866 - Excel5 reader and writer support for hidden cells (formulas) - Feature: (MB, ET) Work item 7612 - Support for indentation in cells (feature request) - Feature: (MB, ET) Work item 7828 - Option for reading only specified interval of rows in a sheet - Bugfix: (MBaker) Work item 7367 - PHPExcel_Calculation_Functions::DATETIMENOW() and PHPExcel_Calculation_Functions::DATENOW() to force UTC - Bugfix: (MBaker) Work item 7395 - Modified PHPExcel_Shared_Date::FormattedPHPToExcel() and PHPExcel_Shared_Date::ExcelToPHP to force datatype for return values - Bugfix: (ET) Work item 7450 - Excel5 reader not producing UTF-8 strings with BIFF5 files - Bugfix: (MB) Work item 7470 - Array constant in formula gives run-time notice with Excel2007 writer - Bugfix: (MB) Work item 7494 - PHPExcel_Reader_Excel2007 setReadDataOnly(true) returns Rich-Text - Bugfix: (ET) Work item 7496 - PHPExcel_Reader_Excel5 setReadDataOnly(true) returns Rich-Text - Bugfix: (MB) Work item 7497 - Characters before superscript or subscript losing style - Bugfix: (MB) Work item 7507 - Subscript not working with HTML writer - Bugfix: (MB) Work item 7508 - DefaultColumnDimension not working on first column (A) - Bugfix: (MB) Work item 7527 - Negative numbers are stored as text in PHPExcel_Writer_2007 - Bugfix: (ET) Work item 7531 - Text rotation and stacked text not working with PHPExcel_Writer_Excel5 - Bugfix: (MB) Work item 7536 - PHPExcel_Shared_Date::isDateTimeFormatCode erroneously says true - Bugfix: (MB) Work item 7559 - Different images with same filename in separate directories become duplicates - Bugfix: (ET) Work item 7568 - PHPExcel_Reader_Excel5 not returning sheet names as UTF-8 using for Excel 95 files - Bugfix: (MB) Work item 7575 - setAutoSize(true) on empty column gives column width of 10 using PHPExcel_Writer_Excel2007 - Bugfix: (MB, ET) Work item 7573 - setAutoSize(true) on empty column gives column width of 255 using PHPExcel_Writer_Excel5 - Bugfix: (MB) Work item 7514 - Worksheet_Drawing bug - Bugfix: (MB) Work item 7593 - getCalculatedValue() with REPT function causes script to stop - Bugfix: (MB) Work item 7594 - getCalculatedValue() with LEN function causes script to stop - Bugfix: (MB) Work item 7600 - Explicit fit-to-width (page setup) results in fit-to-height becoming 1 - Bugfix: (MB) Work item 7610 - Fit-to-width value of 1 is lost after read/write of Excel2007 spreadsheet - Bugfix: (MB) Work item 7516 - Conditional styles not read properly using PHPExcel_Reader_Excel2007 - Bugfix: (MB) Work item 7611 - PHPExcel_Writer_2007: Default worksheet style works only for first sheet - Bugfix: (ET) Work item 6940 - Cannot Lock Cells using PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7621 - Incorrect cell protection values found when using Excel5 reader - Bugfix: (ET) Work item 7623 - Default row height not working above highest row using PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7637 - Default column width does not get applied when using PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7642 - Broken support for UTF-8 string formula results in PHPExcel_Reader_Excel5 - Bugfix: (ET) Work item 7643 - UTF-8 sheet names not working with PHPExcel_Writer_Excel5 - Bugfix: (MB) Work item 7631 - getCalculatedValue() with ISNONTEXT function causes script to stop - Bugfix: (ET) Work item 7652 - Missing BIFF3 functions in PHPExcel_Writer_Excel5: USDOLLAR (YEN), FINDB, SEARCHB, REPLACEB, LEFTB, RIGHTB, MIDB, LENB, ASC, DBCS (JIS) - Bugfix: (ET) Work item 7663 - Excel5 reader doesn't read numbers correctly in 64-bit systems - Bugfix: (ET) Work item 7667 - Missing BIFF5 functions in PHPExcel_Writer_Excel5: ISPMT, DATEDIF, DATESTRING, NUMBERSTRING - Bugfix: (ET) Work item 7668 - Missing BIFF8 functions in PHPExcel_Writer_Excel5: GETPIVOTDATA, HYPERLINK, PHONETIC, AVERAGEA, MAXA, MINA, STDEVPA, VARPA, STDEVA, VARA - Bugfix: (MB) Work item 7657 - Wrong host value in PHPExcel_Shared_ZipStreamWrapper::stream_open() - Bugfix: (ET) Work item 7676 - PHPExcel_Reader_Excel5 not reading explicitly entered error types in cells - Bugfix: (ET) Work item 7678 - Boolean and error data types not preserved for formula results in PHPExcel_Reader_Excel5 - Bugfix: (MB) Work item 7695 - PHPExcel_Reader_Excel2007 ignores cell data type - Bugfix: (ET) Work item 7712 - PHPExcel_Reader_Excel5 ignores cell data type - Bugfix: (ET) Work item 7587 - PHPExcel_Writer_Excel5 not aware of data type - Bugfix: (ET) Work item 7713 - Long strings sometimes truncated when using PHPExcel_Reader_Excel5 - Bugfix: (ET) Work item 7727 - Direct entry of boolean or error type in cell not supported by PHPExcel_Writer_Excel5 - Bugfix: (MB) Work item 7714 - PHPExcel_Reader_Excel2007: Error reading cell with data type string, date number format, and numeric-like cell value - Bugfix: (ET) Work item 7735 - Row and column outlines (group indent level) not showing after using PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7737 - Missing UTF-8 support in number format codes for PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7750 - Missing UTF-8 support with PHPExcel_Writer_Excel5 for explicit string in formula - Bugfix: (MB) Work item 7726 - Problem with class constants in PHPExcel_Style_NumberFormat - Bugfix: (ET) Work item 7758 - Sometimes errors with PHPExcel_Reader_Excel5 reading hyperlinks - Bugfix: (ET) Work item 7759 - Hyperlink in cell always results in string data type when using PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7771 - Excel file with blank sheet seen as broken in MS Office Excel 2007 when created by PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7785 - PHPExcel_Reader_Excel5: Incorrect reading of formula with explicit string containing (escaped) double-quote - Bugfix: (MB) Work item 7787 - getCalculatedValue() fails on formula with sheet name containing (escaped) single-quote - Bugfix: (MB) Work item 7786 - getCalculatedValue() fails on formula with explicit string containing (escaped) double-quote - Bugfix: (MB) Work item 7780 - Problems with simultaneous repeatRowsAtTop and repeatColumnsAtLeft using Excel2007 reader and writer - Bugfix: (ET) Work item 7802 - PHPExcel_Reader_Excel5: Error reading formulas with sheet reference containing special characters - Bugfix: (ET) Work item 7831 - Off-sheet references sheet!A1 not working with PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7834 - Repeating rows/columns (print titles), print area not working with PHPExcel_Writer_Excel5 - Bugfix: (ET) Work item 7849 - Formula having datetime number format shows as text when using PHPExcel_Writer_Excel5 - Bugfix: (MBaker) Work item 7863 - Cannot set formula to hidden using applyFromArray() - Bugfix: (MBaker) Work item 7805 - HTML/PDF Writers limited to 26 columns by calculateWorksheetDimension (erroneous comparison in getHighestColumn() method) - Bugfix: (MB) Work item 7873 - Formula returning error type is lost when read by PHPExcel_Reader_Excel2007 - Bugfix: (ET) Work item 7883 - PHPExcel_Reader_Excel5: Cell style lost for last column in group of blank cells - Bugfix: (MB) Work item 7886 - Column width sometimes collapses to auto size using Excel2007 reader/writer 2008/08/25 (v1.6.3): - Bugfix: (MBaker) Work item 7367 - Modified PHPExcel_Shared_Date::PHPToExcel() to force UTC - General: (MB) Applied patch 1629 - General: (MB) Applied patch 1644 - General: (MB) Work item 6485 - Implement repeatRow and repeatColumn in Excel5 writer - General: (MB) Work item 6838 - Remove scene3d filter in Excel2007 drawing - Feature: (MBaker) Work item 2346 - Implement CHOOSE and INDEX Lookup/Reference Functions - Feature: (MBaker) Work item 2346 - Implement CLEAN Text Functions - Feature: (MBaker) Work item 2346 - Implement YEARFRAC Date/Time Functions - Feature: (MB) Work item 6508 - Implement 2 options for print/show gridlines - Feature: (MB) Work item 7270 - Add VLOOKUP function (contribution) - Feature: (MB) Work item 7182 - Implemented: ShrinkToFit - Feature: (MB) Work item 7218 - Row heights not updated correctly when inserting new rows - Feature: (MB) Work item 7157 - Copy worksheets within the same workbook - Feature: (ET) Work item 7290 - Excel5 reader style support: horizontal and vertical alignment plus text wrap - Feature: (ET) Work item 7294 - Excel5 reader support for merged cells - Feature: (ET) Work item 7296 - Excel5 reader: Sheet Protection - Feature: (ET) Work item 7297 - Excel5 reader: Password for sheet protection - Feature: (ET) Work item 7299 - Excel5 reader: Column width - Feature: (ET) Work item 7301 - Excel5 reader: Row height - Feature: (ET) Work item 7304 - Excel5 reader: Font support - Feature: (ET) Work item 7324 - Excel5 reader: support for locked cells - Feature: (ET) Work item 7330 - Excel5 reader style support: Fill (background colors and patterns) - Feature: (ET) Work item 7332 - Excel5 reader style support: Borders (style and color) - Feature: (ET) Work item 7346 - Excel5 reader: Rich-Text support - Feature: (MB) Work item 7313 - Read Excel built-in number formats with Excel 2007 reader - Feature: (ET) Work item 7317 - Excel5 reader: Number format support - Feature: (MB) Work item 7362 - Creating a copy of PHPExcel object - Feature: (ET) Work item 7373 - Excel5 reader: support for row / column outline (group) - Feature: (MB) Work item 7380 - Implement default row/column sizes - Feature: (MB) Work item 7364 - Writer HTML - option to return styles and table separately - Feature: (ET) Work item 7393 - Excel5 reader: Support for remaining built-in number formats - Bugfix: (MBaker) Fixed rounding in HOUR MINUTE and SECOND Time functions, and improved performance for these - Bugfix: (MBaker) Fix to TRIM function - Bugfix: (MBaker) Fixed range validation in TIME Functions.php - Bugfix: (MBaker) EDATE and EOMONTH functions now return date values based on the returnDateType flag - Bugfix: (MBaker) Write date values that are the result of a calculation function correctly as Excel serialized dates rather than PHP serialized date values - Bugfix: (MB) Work item 6690 - Excel2007 reader not always reading boolean correctly - Bugfix: (MB) Work item 6275 - Columns above IZ - Bugfix: (MB) Work item 6853 - Other locale than English causes Excel2007 writer to produce broken xlsx - Bugfix: (MB) Work item 7061 - Typo: Number_fromat in NumberFormat.php - Bugfix: (MB) Work item 6865 - Bug in Worksheet_BaseDrawing setWidth() - Bugfix: (MB) Work item 6891 - PDF writer collapses column width for merged cells - Bugfix: (MB) Work item 6867 - Issues with drawings filenames - Bugfix: (MB) Work item 7073 - fromArray() local variable isn't defined - Bugfix: (MB) Work item 7276 - PHPExcel_Writer_Excel5->setTempDir() not passed to all classes involved in writing to a file - Bugfix: (MB) Work item 7277 - Excel5 reader not handling UTF-8 properly - Bugfix: (MB) Work item 7327 - If you write a 0 value in cell, cell shows as empty - Bugfix: (MB) Work item 7302 - Excel2007 writer: Row height ignored for empty rows - Bugfix: (MB) Work item 7281 - Excel2007 (comments related error) - Bugfix: (MB) Work item 7345 - Column width in other locale - Bugfix: (MB) Work item 7347 - Excel2007 reader not reading underlined Rich-Text - Bugfix: (ET) Work item 7357 - Excel5 reader converting booleans to strings - Bugfix: (MB) Work item 7365 - Recursive Object Memory Leak - Bugfix: (MB) Work item 7372 - Excel2007 writer ignoring row dimensions without cells - Bugfix: (ET) Work item 7382 - Excel5 reader is converting formatted numbers / dates to strings 2008/06/23 (v1.6.2): - General: (MB) Work item 6088 - Document style array values - General: (MB) Applied patch 1195 - General: (MB) Work item 6178 - Redirecting output to a client’s web browser - http headers - General: (MB) Work item 6187 - Improve worksheet garbage collection - General: (MBaker) Functions that return date values can now be configured to return as Excel serialized date/time, PHP serialized date/time, or a PHP date/time object. - General: (MBaker) Functions that explicitly accept dates as parameters now permit values as Excel serialized date/time, PHP serialized date/time, a valid date string, or a PHP date/time object. - General: (MBaker) Implement ACOSH, ASINH and ATANH functions for those operating platforms/PHP versions that don't include these functions - General: (MBaker) Implement ATAN2 logic reversing the arguments as per Excel - General: (MBaker) Additional validation of parameters for COMBIN - General: (MBaker) Fixed validation for CEILING and FLOOR when the value and significance parameters have different signs; and allowed default value of 1 or -1 for significance when in GNUMERIC compatibility mode - Feature: (MBaker) Work item 2346 - Implement ADDRESS, ISLOGICAL, ISTEXT and ISNONTEXT functions - Feature: (MBaker) Work item 2346 - Implement COMPLEX, IMAGINARY, IMREAL, IMARGUMENT, IMCONJUGATE, IMABS, IMSUB, IMDIV, IMSUM, IMPRODUCT, IMSQRT, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER IMCOS and IMSIN Engineering functions - Feature: (MBaker) Work item 2346 - Implement NETWORKDAYS and WORKDAY Date/Time functions - Feature: (MB) Work item 6100 - Make cell column AAA available - Feature: (MB) Work item 6095 - Mark particular cell as selected when opening Excel - Feature: (MB) Work item 6120 - Multiple sheets in PDF and HTML - Feature: (MB) Work item 6227 - Implement PHPExcel_ReaderFactory and PHPExcel_WriterFactory - Feature: (MB) Work item 6249 - Set image root of PHPExcel_Writer_HTML - Feature: (MB) Work item 6264 - Enable/disable calculation cache - Feature: (MB) Work item 6259 - PDF writer and multi-line text - Feature: (MB) Work item 6350 - Feature request - setCacheExpirationTime() - Feature: (JB) Work item 6370 - Implement late-binding mechanisms to reduce memory footprint - Feature: (JB) Work item 6430 - Implement shared styles - Feature: (MB) Work item 6391 - Copy sheet from external Workbook to active Workbook - Feature: (MB) Work item 6428 - Functions in Conditional Formatting - Bugfix: (MB) Work item 6096 - Default Style in Excel5 - Bugfix: (MB) Work item 6150 - Numbers starting with '+' cause Excel 2007 errors - Bugfix: (MB) Work item 6092 - ExcelWriter5 is not PHP5 compatible, using it with E_STRICT results in a bunch of errors (applied patches) - Bugfix: (MB) Work item 6179 - Error Reader Excel2007 line 653 foreach ($relsDrawing->Relationship as $ele) - Bugfix: (MB) Work item 6229 - Worksheet toArray() screws up DATE - Bugfix: (MB) Work item 6253 - References to a Richtext cell in a formula - Bugfix: (MB) Work item 6285 - insertNewColumnBefore Bug - Bugfix: (MB) Work item 6319 - Error reading Excel2007 file with shapes - Bugfix: (MBaker) Work item 6302 - Determine whether date values need conversion from PHP dates to Excel dates before writing to file, based on the data type (float or integer) - Bugfix: (MBaker) Fixes to DATE function when it is given negative input parameters - Bugfix: (MB) Work item 6347 - PHPExcel handles empty cells other than Excel - Bugfix: (MB) Work item 6348 - PHPExcel handles 0 and "" as being the same - Bugfix: (MB) Work item 6357 - Problem Using Excel2007 Reader for Spreadsheets containing images - Bugfix: (MB) Work item 6359 - ShowGridLines ignored when reading/writing Excel 2007 - Bugfix: (MB) Work item 6426 - Bug With Word Wrap in Excel 2007 Reader 2008/04/28 (v1.6.1): - General: (MB) Work item 5532 - Fix documentation printing - General: (MB) Work item 5586 - Memory usage improvements - General: (MB) Applied patch 990 - General: (MB) Applied patch 991 - Feature: (BM) Work item 2841 - Implement PHPExcel_Reader_Excel5 - Feature: (MB) Work item 5564 - Implement "toArray" and "fromArray" method - Feature: (MB) Work item 5665 - Read shared formula - Feature: (MB) Work item 5681 - Read image twoCellAnchor - Feature: (MB) Work item 4446 - &G Image as bg for headerfooter - Feature: (MB) Work item 5834 - Implement page layout functionality for Excel5 format - Feature: (MB) Work item 6039 - Feature request: PHPExcel_Writer_PDF - Bugfix: (MB) Work item 5517 - DefinedNames null check - Bugfix: (MB) Work item 5463 - Hyperlinks should not always have trailing slash - Bugfix: (MB) Work item 5592 - Saving Error - Uncaught exception (#REF! named range) - Bugfix: (MB) Work item 5634 - Error when creating Zip file on Linux System (Not Windows) - Bugfix: (MB) Work item 5876 - Time incorrecly formated - Bugfix: (MB) Work item 5914 - Conditional formatting - second rule not applied - Bugfix: (MB) Work item 5978 - PHPExcel_Reader_Excel2007 cannot load PHPExcel_Shared_File - Bugfix: (MB) Work item 6020 - Output redirection to web browser 2008/02/14 (v1.6.0): - General: (MB) Work item 3156 - Use PHPExcel datatypes in formula calculation - Feature: (MB) Work item 5019 - Center on page when printing - Feature: (MB) Work item 5099 - Hyperlink to other spreadsheet - Feature: (MB) Work item 5104 - Set the print area of a worksheet - Feature: (MB) Work item 5118 - Read "definedNames" property of worksheet - Feature: (MB) Work item 5338 - Set default style for all cells - Feature: (MB) Work item 4216 - Named Ranges - Feature: (MB) Work item 5398 - Implement worksheet references (Sheet1!A1) - Bugfix: (MB) Work item 4967 - Redirect output to a client's web browser - Bugfix: (MB) Work item 5008 - "File Error: data may have been lost." seen in Excel 2007 and Excel 2003 SP3 when opening XLS file - Bugfix: (MB) Work item 5165 - Bug in style's getHashCode() - Bugfix: (MB) Work item 5165 - PHPExcel_Reader not correctly reading numeric values - Bugfix: (MB) Work item 5324 - Text rotation is read incorrectly - Bugfix: (MB) Work item 5326 - Enclosure " and data " result a bad data : \" instead of "" - Bugfix: (MB) Work item 5332 - Formula parser - IF statement returning array instead of scalar - Bugfix: (MB) Work item 5351 - setFitToWidth(nbpage) & setFitToWidth(nbpage) work partially - Bugfix: (MB) Work item 5361 - Worksheet::setTitle() causes unwanted renaming - Bugfix: (MB) Work item 5407 - Hyperlinks not working. Results in broken xlsx file. 2007/12/24 (v1.5.5): - General: (MB) Work item 4135 - Grouping Rows - General: (MB) Work item 4427 - Semi-nightly builds - Feature: (MB) Work item 3155 - Implement "date" datatype - Feature: (MB) Work item 4150 - Date format not honored in CSV writer - Feature: (MB) Work item 4199 - RichText and sharedStrings - Feature: (MB) Work item 2346 - Implement more Excel calculation functions - Addition of DATE, DATEDIF, DATEVALUE, DAY, DAYS360 - Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions - Addition of AVEDEV, HARMEAN and GEOMEAN - Addition of the BINOMDIST (Non-cumulative only), COUNTBLANK, EXPONDIST, FISHER, FISHERINV, NORMDIST, NORMSDIST, PERMUT, POISSON (Non-cumulative only) and STANDARDIZE Statistical Functions - Addition of the CEILING, COMBIN, EVEN, FACT, FACTDOUBLE, FLOOR, MULTINOMIAL, ODD, ROUNDDOWN, ROUNDUP, SIGN, SQRTPI and SUMSQ Mathematical Functions - Addition of the NORMINV, NORMSINV, CONFIDENCE and SKEW Statistical Functions - Addition of the CRITBINOM, HYPGEOMDIST, KURT, LOGINV, LOGNORMDIST, NEGBINOMDIST and WEIBULL Statistical Functions - Addition of the LARGE, PERCENTILE, QUARTILE, SMALL and TRIMMEAN Statistical Functions - Addition of the BIN2HEX, BIN2OCT, DELTA, ERF, ERFC, GESTEP, HEX2BIN, HEX2DEC, HEX2OCT, OCT2BIN and OCT2HEX Engineering Functions - Addition of the CHIDIST, GAMMADIST and GAMMALN Statistical Functions - Addition of the GCD, LCM, MROUND and SUBTOTAL Mathematical Functions - Addition of the LOWER, PROPER and UPPER Text Functions - Addition of the BETADIST and BETAINV Statistical Functions - Addition of the CHIINV and GAMMAINV Statistical Functions - Addition of the SERIESSUM Mathematical Function - Addition of the CHAR, CODE, FIND, LEN, REPT, SEARCH, T, TRIM Text Functions - Addition of the FALSE and TRUE Boolean Functions - Addition of the TDIST and TINV Statistical Functions - Addition of the EDATE, EOMONTH, YEAR, MONTH, TIME, TIMEVALUE, HOUR, MINUTE, SECOND, WEEKDAY, WEEKNUM, NOW, TODAY and Date/Time Function - Addition of the BESSELI, BESSELJ, BESSELK and BESSELY Engineering Functions - Addition of the SLN and SYD Financial Functions - reworked MODE calculation to handle floating point numbers - Improved error trapping for invalid input values - Fix to SMALL, LARGE, PERCENTILE and TRIMMEAN to eliminate non-numeric values - Added CDF to BINOMDIST and POISSON - Fix to a potential endless loop in CRITBINOM, together with other bugfixes to the algorithm - Fix to SQRTPI so that it will work with a real value parameter rather than just integers - Trap for passing negative values to FACT - Improved accuracy of the NORMDIST cumulative function, and of the ERF and ERFC functions - Replicated Excel data-type and error handling for BIN, DEC, OCT and HEX conversion functions - Replicated Excel data-type and error handling for AND and OR Boolean functions - Bugfix to MROUND - Rework of the DATE, DATEVALUE, DAY, DAYS360 and DATEDIF date/Time functions to use Excel dates rather than straight PHP dates - Rework of the AND, OR Boolean functions to ignore string values - Rework of the BIN2DEC, BIN2HEX, BIN2OCT, DEC2BIN, DEC2HEX, DEC2OCT Engineering functions to handle two's complement - Excel, Gnumeric and OpenOffice Calc compatibility flag for functions Note, not all functions have yet been written to work with the Gnumeric and OpenOffice Calc compatibility flags - 1900 or 1904 Calendar flag for date functions - Reworked ExcelToPHP date method to handle the Excel 1900 leap year Note that this will not correctly return values prior to 13-Dec-1901 20:45:52 as this is the minimum value that PHP date serial values can handle. If you need to work with dates prior to this, then an ExcelToPHPObject method has been added which will work correctly with values between Excel's 1900 calendar base date of 1-Jan-1900, and 13-Dec-1901 - Addition of ExcelToPHPObject date method to return a PHP DateTime object from an Excel date serial value - PHPToExcel method modified to accept either PHP date serial numbers or PHP DateTime objects - Addition of FormattedPHPToExcel which will accept a date and time broken to into year, month, day, hour, minute, second and retuen an Excel date serial value - Feature: (MB) Work item 4485 - Control characters in Excel 2007 - Feature: (MB) Work item 4796 - BaseDrawing::setWidthAndHeight method request - Feature: (MB) Work item 4798 - Page Setup -> Print Titles -> Sheet -> 'Rows to repeat at top' - Feature: (MB) Work item 4433 - Comment functionality - Bugfix: (MB) Work item 4124 - Undefined variable in PHPExcel_Writer_Serialized - Bugfix: (MB) Work item 4125 - Notice: Object of class PHPExcel_RichText could not be converted to int - Bugfix: (MB) Work item 4126 - Excel5Writer: utf8 string not converted to utf16 - Bugfix: (MB) Work item 4180 - PHPExcel_RichText and autosize - Bugfix: (MB) Work item 4574 - Excel5Writer produces broken xls files after change mentioned in work item 4126 - Bugfix: (MB) Work item 4797 - Small bug in PHPExcel_Reader_Excel2007 function _readStyle 2007/10/23 (v 1.5.0): - General: (MB) Work item 3265 - Refactor PHPExcel Drawing - Feature: (CS) Work item 3079 - Update Shared/OLE.php to latest version from PEAR - Feature: (MB) Work item 3217 - Excel2007 vs Excel2003 compatibility pack - Feature: (MB) Work item 3234 - Cell protection (lock/unlock) - Feature: (MB) Work item 3543 - Create clickable links (hyperlinks) - Feature: (MB) Work item 3241 - Additional page setup parameters - Feature: (MB) Work item 3300 - Make temporary file path configurable (Excel5) - Feature: (MB) Work item 3306 - Small addition to applyFromArray for font - Feature: (MB) Work item 3373 - Better feedback when save of file is not possible - Bugfix: (MB) Work item 3181 - Text Rotation - Bugfix: (MB) Work item 3237 - Small bug in Page Orientation - Bugfix: (MB) Work item 3812 - insertNewColumnBeforeByColumn undefined - Bugfix: (MB) Work item 3893 - Sheet references not working in formula (Excel5 Writer) 2007/08/23 (v 1.4.5): - General: (MB) Work item 3003 - Class file endings - General: (MB) Work item 3081 - Different calculation engine improvements - General: (MB) Work item 3082 - Different improvements in PHPExcel_Reader_Excel2007 - General: (MB) Work item 3146 - Set XML indentation in PHPExcel_Writer_Excel2007 - Feature: (MB) Work item 3159 - Optionally store temporary Excel2007 writer data in file instead of memory - Feature: (MB) Work item 3063 - Implement show/hide gridlines - Feature: (MB) Work item 3064 - Implement option to read only data - Feature: (MB) Work item 3080 - Optionally disable formula precalculation - Feature: (MB) Work item 3154 - Explicitly set cell datatype - Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions - Addition of MINA, MAXA, COUNTA, AVERAGEA, MEDIAN, MODE, DEVSQ, STDEV, STDEVA, STDEVP, STDEVPA, VAR, VARA, VARP and VARPA Excel Functions - Fix to SUM, PRODUCT, QUOTIENT, MIN, MAX, COUNT and AVERAGE functions when cell contains a numeric value in a string datatype, bringing it in line with MS Excel behaviour - Bugfix: (MB) Work item 2881 - File_exists on ZIP fails on some installations - Bugfix: (MB) Work item 2879 - Argument in textRotation should be -90..90 - Bugfix: (MB) Work item 2883 - Excel2007 reader/writer not implementing OpenXML/SpreadsheetML styles 100% correct - Bugfix: (MB) Work item 2513 - Active sheet index not read/saved - Bugfix: (MB) Work item 2935 - Print and print preview of generated XLSX causes Excel2007 to crash - Bugfix: (MB) Work item 2952 - Error in Calculations - COUNT() function - Bugfix: (MB) Work item 3002 - HTML and CSV writer not writing last row - Bugfix: (MB) Work item 3017 - Memory leak in Excel5 writer - Bugfix: (MB) Work item 3044 - Printing (PHPExcel_Writer_Excel5) - Bugfix: (MB) Work item 3046 - Problems reading zip:// - Bugfix: (MB) Work item 3047 - Error reading conditional formatting - Bugfix: (MB) Work item 3067 - Bug in Excel5 writer (storePanes) - Bugfix: (MB) Work item 3077 - Memory leak in PHPExcel_Style_Color 2007/07/23 (v 1.4.0): - General: (MB) Work item 2687 - Coding convention / code cleanup - General: (MB) Work item 2717 - Use set_include_path in tests - General: (MB) Work item 2812 - Move PHPExcel_Writer_Excel5 OLE to PHPExcel_Shared_OLE - Feature: (MB) Work item 2679 - Hide/Unhide Column or Row - Feature: (MB) Work item 2271 - Implement multi-cell styling - Feature: (MB) Work item 2720 - Implement CSV file format (reader/writer) - Feature: (MB) Work item 2845 - Implement HTML file format - Bugfix: (MB) Work item 2513 - Active sheet index not read/saved - Bugfix: (MB) Work item 2678 - Freeze Panes with PHPExcel_Writer_Excel5 - Bugfix: (MB) Work item 2680 - OLE.php - Bugfix: (MB) Work item 2736 - Copy and pasting multiple drop-down list cells breaks reader - Bugfix: (MB) Work item 2775 - Function setAutoFilterByColumnAndRow takes wrong arguments - Bugfix: (MB) Work item 2858 - Simplexml_load_file fails on ZipArchive 2007/06/27 (v 1.3.5): - General: (MB) Work item 15 - Documentation - Feature: (JV) PHPExcel_Writer_Excel5 - Feature: (JV) PHPExcel_Reader_Excel2007: Image shadows - Feature: (MB) Work item 2385 - Data validation - Feature: (MB) Work item 187 - Implement richtext strings - Bugfix: (MB) Work item 2443 - Empty relations when adding image to any sheet but the first one - Bugfix: (MB) Work item 2536 - Excel2007 crashes on print preview 2007/06/05 (v 1.3.0): - General: (MB) Work item 1942 - Create PEAR package - General: (MB) Work item 2331 - Replace *->duplicate() by __clone() - Feature: (JV) PHPExcel_Reader_Excel2007: Column auto-size, Protection, Merged cells, Wrap text, Page breaks, Auto filter, Images - Feature: (MB) Work item 245 - Implement "freezing" panes - Feature: (MB) Work item 2273 - Cell addressing alternative - Feature: (MB) Work item 2270 - Implement cell word-wrap attribute - Feature: (MB) Work item 2282 - Auto-size column - Feature: (MB) Work item 241 - Implement formula calculation - Feature: (MB) Work item 2375 - Insert/remove row/column - Bugfix: (MB) Work item 1931 - PHPExcel_Worksheet::getCell() should not accept absolute coordinates - Bugfix: (MB) Work item 2272 - Cell reference without row number - Bugfix: (MB) Work item 2276 - Styles with same coordinate but different worksheet - Bugfix: (MB) Work item 2290 - PHPExcel_Worksheet->getCellCollection() usort error - Bugfix: (SS) Work item 2353 - Bug in PHPExcel_Cell::stringFromColumnIndex - Bugfix: (JV) Work item 2353 - Reader: numFmts can be missing, use cellStyleXfs instead of cellXfs in styles 2007/04/26 (v 1.2.0): - General: (MB) Stringtable attribute "count" not necessary, provides wrong info to Excel sometimes... - General: (MB) Updated tests to address more document properties - General: (MB) Some refactoring in PHPExcel_Writer_Excel2007_Workbook - General: (MB) New package: PHPExcel_Shared - General: (MB) Password hashing algorithm implemented in PHPExcel_Shared_PasswordHasher - General: (MB) Moved pixel conversion functions to PHPExcel_Shared_Drawing - General: (MB) Work item 244 - Switch over to LGPL license - General: (MB) Work item 5 - Include PHPExcel version in file headers - Feature: (MB) Work item 6 - Autofilter - Feature: (MB) Work item 7 - Extra document property: keywords - Feature: (MB) Work item 8 - Extra document property: category - Feature: (MB) Work item 9 - Document security - Feature: (MB) Work item 10 - PHPExcel_Writer_Serialized and PHPExcel_Reader_Serialized - Feature: (MB) Work item 11 - Alternative syntax: Addressing a cell - Feature: (MB) Work item 12 - Merge cells - Feature: (MB) Work item 13 - Protect ranges of cells with a password - Bugfix: (JV) Work item 14 - (style/fill/patternFill/fgColor or bgColor can be empty) 2007/03/26 (v 1.1.1): - Bugfix: (MB) Work item 1250 - Syntax error in "Classes/PHPExcel/Writer/Excel2007.php" on line 243 - General: (MB) Work item 1282 - Reader should check if file exists and throws an exception when it doesn't 2007/03/22 (v 1.1.0): - Changed filenames of tests - Bugfix: (MB) Work item 836 - Style information lost after passing trough Excel2007_Reader - Bugfix: (MB) Work item 913 - Number of columns > AZ fails fixed in PHPExcel_Cell::columnIndexFromString - General: (MB) Added a brief file with installation instructions - Feature: (MB) Page breaks (horizontal and vertical) - Feature: (MB) Image shadows 2007/02/22 (v 1.0.0): - Changelog now includes developer initials - Bugfix: (JV) PHPExcel->removeSheetByIndex now re-orders sheets after deletion, so no array indexes are lost - Bugfix: (JV) PHPExcel_Writer_Excel2007_Worksheet::_writeCols() used direct assignment to $pSheet->getColumnDimension('A')->Width instead of $pSheet->getColumnDimension('A')->setWidth() - Bugfix: (JV) DocumentProperties used $this->LastModifiedBy instead of $this->_lastModifiedBy. - Bugfix: (JV) Only first = should be removed when writing formula in PHPExcel_Writer_Excel2007_Worksheet. - General: (JV) Consistency of method names to camelCase - General: (JV) Updated tests to match consistency changes - General: (JV) Detection of mime-types now with image_type_to_mime_type() - General: (JV) Constants now hold string value used in Excel 2007 - General: (MB) Fixed folder name case (WorkSheet -> Worksheet) - Feature: (MB) PHPExcel classes (not the Writer classes) can be duplicated, using a duplicate() method. - Feature: (MB) Cell styles can now be duplicated to a range of cells using PHPExcel_Worksheet->duplicateStyle() - Feature: (MB) Conditional formatting - Feature: (JV) Reader for Excel 2007 (not supporting full specification yet!) 2007/01/31 (v 1.0.0 RC): - Project name has been changed to PHPExcel - Project homepage is now http://www.codeplex.com/PHPExcel - Started versioning at number: PHPExcel 1.0.0 RC 2007/01/22: - Fixed some performance issues on large-scale worksheets (mainly loops vs. indexed arrays) - Performance on creating StringTable has been increased - Performance on writing Excel2007 worksheet has been increased 2007/01/18: - Images can now be rotated - Fixed bug: When drawings have full path specified, no mime type can be deducted - Fixed bug: Only one drawing can be added to a worksheet 2007/01/12: - Refactoring of some classes to use ArrayObject instead of array() - Cell style now has support for number format (i.e. #,##0) - Implemented embedding images 2007/01/02: - Cell style now has support for fills, including gradient fills - Cell style now has support for fonts - Cell style now has support for border colors - Cell style now has support for font colors - Cell style now has support for alignment 2006/12/21: - Support for cell style borders - Support for cell styles - Refactoring of Excel2007 Writer into multiple classes in package SpreadSheet_Writer_Excel2007 - Refactoring of all classes, changed public members to public properties using getter/setter - Worksheet names are now unique. On duplicate worksheet names, a number is appended. - Worksheet now has parent SpreadSheet object - Worksheet now has support for page header and footer - Worksheet now has support for page margins - Worksheet now has support for page setup (only Paper size and Orientation) - Worksheet properties now accessible by using getProperties() - Worksheet now has support for row and column dimensions (height / width) - Exceptions thrown have a more clear description Initial version: - Create a Spreadsheet object - Add one or more Worksheet objects - Add cells to Worksheet objects - Export Spreadsheet object to Excel 2007 OpenXML format - Each cell supports the following data formats: string, number, formula, boolean.