phpexcel_changelog.txt 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. **************************************************************************************
  2. * PHPExcel
  3. *
  4. * Copyright (c) 2006 - 2008 PHPExcel
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with this library; if not, write to the Free Software
  18. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  19. *
  20. * @copyright Copyright (c) 2006 - 2008 PHPExcel (http://www.codeplex.com/PHPExcel)
  21. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
  22. * @version 1.6.1, 2008-04-28
  23. **************************************************************************************
  24. To be planned:
  25. 2008/04/28 (v1.6.1):
  26. - General: (MB) Work item 5532 - Fix documentation printing
  27. - General: (MB) Work item 5586 - Memory usage improvements
  28. - General: (MB) Applied patch 990
  29. - General: (MB) Applied patch 991
  30. - Feature: (BM) Work item 2841 - Implement PHPExcel_Reader_Excel5
  31. - Feature: (MB) Work item 5564 - Implement "toArray" and "fromArray" method
  32. - Feature: (MB) Work item 5665 - Read shared formula
  33. - Feature: (MB) Work item 5681 - Read image twoCellAnchor
  34. - Feature: (MB) Work item 4446 - &G Image as bg for headerfooter
  35. - Feature: (MB) Work item 5834 - Implement page layout functionality for Excel5 format
  36. - Feature: (MB) Work item 6039 - Feature request: PHPExcel_Writer_PDF
  37. - Bugfix: (MB) Work item 5517 - DefinedNames null check
  38. - Bugfix: (MB) Work item 5463 - Hyperlinks should not always have trailing slash
  39. - Bugfix: (MB) Work item 5592 - Saving Error - Uncaught exception (#REF! named range)
  40. - Bugfix: (MB) Work item 5634 - Error when creating Zip file on Linux System (Not Windows)
  41. - Bugfix: (MB) Work item 5876 - Time incorrecly formated
  42. - Bugfix: (MB) Work item 5914 - Conditional formatting - second rule not applied
  43. - Bugfix: (MB) Work item 5978 - PHPExcel_Reader_Excel2007 cannot load PHPExcel_Shared_File
  44. - Bugfix: (MB) Work item 6020 - Output redirection to web browser
  45. 2008/02/14 (v1.6.0):
  46. - General: (MB) Work item 3156 - Use PHPExcel datatypes in formula calculation
  47. - Feature: (MB) Work item 5019 - Center on page when printing
  48. - Feature: (MB) Work item 5099 - Hyperlink to other spreadsheet
  49. - Feature: (MB) Work item 5104 - Set the print area of a worksheet
  50. - Feature: (MB) Work item 5118 - Read "definedNames" property of worksheet
  51. - Feature: (MB) Work item 5338 - Set default style for all cells
  52. - Feature: (MB) Work item 4216 - Named Ranges
  53. - Feature: (MB) Work item 5398 - Implement worksheet references (Sheet1!A1)
  54. - Bugfix: (MB) Work item 4967 - Redirect output to a client's web browser
  55. - Bugfix: (MB) Work item 5008 - "File Error: data may have been lost." seen in Excel 2007 and Excel 2003 SP3 when opening XLS file
  56. - Bugfix: (MB) Work item 5165 - Bug in style's getHashCode()
  57. - Bugfix: (MB) Work item 5165 - PHPExcel_Reader not correctly reading numeric values
  58. - Bugfix: (MB) Work item 5324 - Text rotation is read incorrectly
  59. - Bugfix: (MB) Work item 5326 - Enclosure " and data " result a bad data : \" instead of ""
  60. - Bugfix: (MB) Work item 5332 - Formula parser - IF statement returning array instead of scalar
  61. - Bugfix: (MB) Work item 5351 - setFitToWidth(nbpage) & setFitToWidth(nbpage) work partially
  62. - Bugfix: (MB) Work item 5361 - Worksheet::setTitle() causes unwanted renaming
  63. - Bugfix: (MB) Work item 5407 - Hyperlinks not working. Results in broken xlsx file.
  64. 2007/12/24 (v1.5.5):
  65. - General: (MB) Work item 4135 - Grouping Rows
  66. - General: (MB) Work item 4427 - Semi-nightly builds
  67. - Feature: (MB) Work item 3155 - Implement "date" datatype
  68. - Feature: (MB) Work item 4150 - Date format not honored in CSV writer
  69. - Feature: (MB) Work item 4199 - RichText and sharedStrings
  70. - Feature: (MB) Work item 2346 - Implement more Excel calculation functions
  71. - Addition of DATE, DATEDIF, DATEVALUE, DAY, DAYS360
  72. - Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions
  73. - Addition of AVEDEV, HARMEAN and GEOMEAN
  74. - Addition of the BINOMDIST (Non-cumulative only), COUNTBLANK, EXPONDIST, FISHER, FISHERINV, NORMDIST, NORMSDIST, PERMUT, POISSON (Non-cumulative only) and STANDARDIZE Statistical Functions
  75. - Addition of the CEILING, COMBIN, EVEN, FACT, FACTDOUBLE, FLOOR, MULTINOMIAL, ODD, ROUNDDOWN, ROUNDUP, SIGN, SQRTPI and SUMSQ Mathematical Functions
  76. - Addition of the NORMINV, NORMSINV, CONFIDENCE and SKEW Statistical Functions
  77. - Addition of the CRITBINOM, HYPGEOMDIST, KURT, LOGINV, LOGNORMDIST, NEGBINOMDIST and WEIBULL Statistical Functions
  78. - Addition of the LARGE, PERCENTILE, QUARTILE, SMALL and TRIMMEAN Statistical Functions
  79. - Addition of the BIN2HEX, BIN2OCT, DELTA, ERF, ERFC, GESTEP, HEX2BIN, HEX2DEC, HEX2OCT, OCT2BIN and OCT2HEX Engineering Functions
  80. - Addition of the CHIDIST, GAMMADIST and GAMMALN Statistical Functions
  81. - Addition of the GCD, LCM, MROUND and SUBTOTAL Mathematical Functions
  82. - Addition of the LOWER, PROPER and UPPER Text Functions
  83. - Addition of the BETADIST and BETAINV Statistical Functions
  84. - Addition of the CHIINV and GAMMAINV Statistical Functions
  85. - Addition of the SERIESSUM Mathematical Function
  86. - Addition of the CHAR, CODE, FIND, LEN, REPT, SEARCH, T, TRIM Text Functions
  87. - Addition of the FALSE and TRUE Boolean Functions
  88. - Addition of the TDIST and TINV Statistical Functions
  89. - Addition of the EDATE, EOMONTH, YEAR, MONTH, TIME, TIMEVALUE, HOUR, MINUTE, SECOND, WEEKDAY, WEEKNUM, NOW, TODAY and Date/Time Function
  90. - Addition of the BESSELI, BESSELJ, BESSELK and BESSELY Engineering Functions
  91. - Addition of the SLN and SYD Financial Functions
  92. - reworked MODE calculation to handle floating point numbers
  93. - Improved error trapping for invalid input values
  94. - Fix to SMALL, LARGE, PERCENTILE and TRIMMEAN to eliminate non-numeric values
  95. - Added CDF to BINOMDIST and POISSON
  96. - Fix to a potential endless loop in CRITBINOM, together with other bugfixes to the algorithm
  97. - Fix to SQRTPI so that it will work with a real value parameter rather than just integers
  98. - Trap for passing negative values to FACT
  99. - Improved accuracy of the NORMDIST cumulative function, and of the ERF and ERFC functions
  100. - Replicated Excel data-type and error handling for BIN, DEC, OCT and HEX conversion functions
  101. - Replicated Excel data-type and error handling for AND and OR Boolean functions
  102. - Bugfix to MROUND
  103. - Rework of the DATE, DATEVALUE, DAY, DAYS360 and DATEDIF date/Time functions to use Excel dates rather than straight PHP dates
  104. - Rework of the AND, OR Boolean functions to ignore string values
  105. - Rework of the BIN2DEC, BIN2HEX, BIN2OCT, DEC2BIN, DEC2HEX, DEC2OCT Engineering functions to handle two's complement
  106. - Excel, Gnumeric and OpenOffice Calc compatibility flag for functions
  107. Note, not all functions have yet been written to work with the Gnumeric and OpenOffice Calc compatibility flags
  108. - 1900 or 1904 Calendar flag for date functions
  109. - Reworked ExcelToPHP date method to handle the Excel 1900 leap year
  110. 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
  111. - Addition of ExcelToPHPObject date method to return a PHP DateTime object from an Excel date serial value
  112. - PHPToExcel method modified to accept either PHP date serial numbers or PHP DateTime objects
  113. - 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
  114. - Feature: (MB) Work item 4485 - Control characters in Excel 2007
  115. - Feature: (MB) Work item 4796 - BaseDrawing::setWidthAndHeight method request
  116. - Feature: (MB) Work item 4798 - Page Setup -> Print Titles -> Sheet -> 'Rows to repeat at top'
  117. - Feature: (MB) Work item 4433 - Comment functionality
  118. - Bugfix: (MB) Work item 4124 - Undefined variable in PHPExcel_Writer_Serialized
  119. - Bugfix: (MB) Work item 4125 - Notice: Object of class PHPExcel_RichText could not be converted to int
  120. - Bugfix: (MB) Work item 4126 - Excel5Writer: utf8 string not converted to utf16
  121. - Bugfix: (MB) Work item 4180 - PHPExcel_RichText and autosize
  122. - Bugfix: (MB) Work item 4574 - Excel5Writer produces broken xls files after change mentioned in work item 4126
  123. - Bugfix: (MB) Work item 4797 - Small bug in PHPExcel_Reader_Excel2007 function _readStyle
  124. 2007/10/23 (v 1.5.0):
  125. - General: (MB) Work item 3265 - Refactor PHPExcel Drawing
  126. - Feature: (CS) Work item 3079 - Update Shared/OLE.php to latest version from PEAR
  127. - Feature: (MB) Work item 3217 - Excel2007 vs Excel2003 compatibility pack
  128. - Feature: (MB) Work item 3234 - Cell protection (lock/unlock)
  129. - Feature: (MB) Work item 3543 - Create clickable links (hyperlinks)
  130. - Feature: (MB) Work item 3241 - Additional page setup parameters
  131. - Feature: (MB) Work item 3300 - Make temporary file path configurable (Excel5)
  132. - Feature: (MB) Work item 3306 - Small addition to applyFromArray for font
  133. - Feature: (MB) Work item 3373 - Better feedback when save of file is not possible
  134. - Bugfix: (MB) Work item 3181 - Text Rotation
  135. - Bugfix: (MB) Work item 3237 - Small bug in Page Orientation
  136. - Bugfix: (MB) Work item 3812 - insertNewColumnBeforeByColumn undefined
  137. - Bugfix: (MB) Work item 3893 - Sheet references not working in formula (Excel5 Writer)
  138. 2007/08/23 (v 1.4.5):
  139. - General: (MB) Work item 3003 - Class file endings
  140. - General: (MB) Work item 3081 - Different calculation engine improvements
  141. - General: (MB) Work item 3082 - Different improvements in PHPExcel_Reader_Excel2007
  142. - General: (MB) Work item 3146 - Set XML indentation in PHPExcel_Writer_Excel2007
  143. - Feature: (MB) Work item 3159 - Optionally store temporary Excel2007 writer data in file instead of memory
  144. - Feature: (MB) Work item 3063 - Implement show/hide gridlines
  145. - Feature: (MB) Work item 3064 - Implement option to read only data
  146. - Feature: (MB) Work item 3080 - Optionally disable formula precalculation
  147. - Feature: (MB) Work item 3154 - Explicitly set cell datatype
  148. - Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions
  149. - Addition of MINA, MAXA, COUNTA, AVERAGEA, MEDIAN, MODE, DEVSQ, STDEV, STDEVA, STDEVP, STDEVPA, VAR, VARA, VARP and VARPA Excel Functions
  150. - 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
  151. - Bugfix: (MB) Work item 2881 - File_exists on ZIP fails on some installations
  152. - Bugfix: (MB) Work item 2879 - Argument in textRotation should be -90..90
  153. - Bugfix: (MB) Work item 2883 - Excel2007 reader/writer not implementing OpenXML/SpreadsheetML styles 100% correct
  154. - Bugfix: (MB) Work item 2513 - Active sheet index not read/saved
  155. - Bugfix: (MB) Work item 2935 - Print and print preview of generated XLSX causes Excel2007 to crash
  156. - Bugfix: (MB) Work item 2952 - Error in Calculations - COUNT() function
  157. - Bugfix: (MB) Work item 3002 - HTML and CSV writer not writing last row
  158. - Bugfix: (MB) Work item 3017 - Memory leak in Excel5 writer
  159. - Bugfix: (MB) Work item 3044 - Printing (PHPExcel_Writer_Excel5)
  160. - Bugfix: (MB) Work item 3046 - Problems reading zip://
  161. - Bugfix: (MB) Work item 3047 - Error reading conditional formatting
  162. - Bugfix: (MB) Work item 3067 - Bug in Excel5 writer (storePanes)
  163. - Bugfix: (MB) Work item 3077 - Memory leak in PHPExcel_Style_Color
  164. 2007/07/23 (v 1.4.0):
  165. - General: (MB) Work item 2687 - Coding convention / code cleanup
  166. - General: (MB) Work item 2717 - Use set_include_path in tests
  167. - General: (MB) Work item 2812 - Move PHPExcel_Writer_Excel5 OLE to PHPExcel_Shared_OLE
  168. - Feature: (MB) Work item 2679 - Hide/Unhide Column or Row
  169. - Feature: (MB) Work item 2271 - Implement multi-cell styling
  170. - Feature: (MB) Work item 2720 - Implement CSV file format (reader/writer)
  171. - Feature: (MB) Work item 2845 - Implement HTML file format
  172. - Bugfix: (MB) Work item 2513 - Active sheet index not read/saved
  173. - Bugfix: (MB) Work item 2678 - Freeze Panes with PHPExcel_Writer_Excel5
  174. - Bugfix: (MB) Work item 2680 - OLE.php
  175. - Bugfix: (MB) Work item 2736 - Copy and pasting multiple drop-down list cells breaks reader
  176. - Bugfix: (MB) Work item 2775 - Function setAutoFilterByColumnAndRow takes wrong arguments
  177. - Bugfix: (MB) Work item 2858 - Simplexml_load_file fails on ZipArchive
  178. 2007/06/27 (v 1.3.5):
  179. - General: (MB) Work item 15 - Documentation
  180. - Feature: (JV) PHPExcel_Writer_Excel5
  181. - Feature: (JV) PHPExcel_Reader_Excel2007: Image shadows
  182. - Feature: (MB) Work item 2385 - Data validation
  183. - Feature: (MB) Work item 187 - Implement richtext strings
  184. - Bugfix: (MB) Work item 2443 - Empty relations when adding image to any sheet but the first one
  185. - Bugfix: (MB) Work item 2536 - Excel2007 crashes on print preview
  186. 2007/06/05 (v 1.3.0):
  187. - General: (MB) Work item 1942 - Create PEAR package
  188. - General: (MB) Work item 2331 - Replace *->duplicate() by __clone()
  189. - Feature: (JV) PHPExcel_Reader_Excel2007: Column auto-size, Protection, Merged cells, Wrap text, Page breaks, Auto filter, Images
  190. - Feature: (MB) Work item 245 - Implement "freezing" panes
  191. - Feature: (MB) Work item 2273 - Cell addressing alternative
  192. - Feature: (MB) Work item 2270 - Implement cell word-wrap attribute
  193. - Feature: (MB) Work item 2282 - Auto-size column
  194. - Feature: (MB) Work item 241 - Implement formula calculation
  195. - Feature: (MB) Work item 2375 - Insert/remove row/column
  196. - Bugfix: (MB) Work item 1931 - PHPExcel_Worksheet::getCell() should not accept absolute coordinates
  197. - Bugfix: (MB) Work item 2272 - Cell reference without row number
  198. - Bugfix: (MB) Work item 2276 - Styles with same coordinate but different worksheet
  199. - Bugfix: (MB) Work item 2290 - PHPExcel_Worksheet->getCellCollection() usort error
  200. - Bugfix: (SS) Work item 2353 - Bug in PHPExcel_Cell::stringFromColumnIndex
  201. - Bugfix: (JV) Work item 2353 - Reader: numFmts can be missing, use cellStyleXfs instead of cellXfs in styles
  202. 2007/04/26 (v 1.2.0):
  203. - General: (MB) Stringtable attribute "count" not necessary, provides wrong info to Excel sometimes...
  204. - General: (MB) Updated tests to address more document properties
  205. - General: (MB) Some refactoring in PHPExcel_Writer_Excel2007_Workbook
  206. - General: (MB) New package: PHPExcel_Shared
  207. - General: (MB) Password hashing algorithm implemented in PHPExcel_Shared_PasswordHasher
  208. - General: (MB) Moved pixel conversion functions to PHPExcel_Shared_Drawing
  209. - General: (MB) Work item 244 - Switch over to LGPL license
  210. - General: (MB) Work item 5 - Include PHPExcel version in file headers
  211. - Feature: (MB) Work item 6 - Autofilter
  212. - Feature: (MB) Work item 7 - Extra document property: keywords
  213. - Feature: (MB) Work item 8 - Extra document property: category
  214. - Feature: (MB) Work item 9 - Document security
  215. - Feature: (MB) Work item 10 - PHPExcel_Writer_Serialized and PHPExcel_Reader_Serialized
  216. - Feature: (MB) Work item 11 - Alternative syntax: Addressing a cell
  217. - Feature: (MB) Work item 12 - Merge cells
  218. - Feature: (MB) Work item 13 - Protect ranges of cells with a password
  219. - Bugfix: (JV) Work item 14 - (style/fill/patternFill/fgColor or bgColor can be empty)
  220. 2007/03/26 (v 1.1.1):
  221. - Bugfix: (MB) Work item 1250 - Syntax error in "Classes/PHPExcel/Writer/Excel2007.php" on line 243
  222. - General: (MB) Work item 1282 - Reader should check if file exists and throws an exception when it doesn't
  223. 2007/03/22 (v 1.1.0):
  224. - Changed filenames of tests
  225. - Bugfix: (MB) Work item 836 - Style information lost after passing trough Excel2007_Reader
  226. - Bugfix: (MB) Work item 913 - Number of columns > AZ fails fixed in PHPExcel_Cell::columnIndexFromString
  227. - General: (MB) Added a brief file with installation instructions
  228. - Feature: (MB) Page breaks (horizontal and vertical)
  229. - Feature: (MB) Image shadows
  230. 2007/02/22 (v 1.0.0):
  231. - Changelog now includes developer initials
  232. - Bugfix: (JV) PHPExcel->removeSheetByIndex now re-orders sheets after deletion, so no array indexes are lost
  233. - Bugfix: (JV) PHPExcel_Writer_Excel2007_Worksheet::_writeCols() used direct assignment to $pSheet->getColumnDimension('A')->Width instead of $pSheet->getColumnDimension('A')->setWidth()
  234. - Bugfix: (JV) DocumentProperties used $this->LastModifiedBy instead of $this->_lastModifiedBy.
  235. - Bugfix: (JV) Only first = should be removed when writing formula in PHPExcel_Writer_Excel2007_Worksheet.
  236. - General: (JV) Consistency of method names to camelCase
  237. - General: (JV) Updated tests to match consistency changes
  238. - General: (JV) Detection of mime-types now with image_type_to_mime_type()
  239. - General: (JV) Constants now hold string value used in Excel 2007
  240. - General: (MB) Fixed folder name case (WorkSheet -> Worksheet)
  241. - Feature: (MB) PHPExcel classes (not the Writer classes) can be duplicated, using a duplicate() method.
  242. - Feature: (MB) Cell styles can now be duplicated to a range of cells using PHPExcel_Worksheet->duplicateStyle()
  243. - Feature: (MB) Conditional formatting
  244. - Feature: (JV) Reader for Excel 2007 (not supporting full specification yet!)
  245. 2007/01/31 (v 1.0.0 RC):
  246. - Project name has been changed to PHPExcel
  247. - Project homepage is now http://www.codeplex.com/PHPExcel
  248. - Started versioning at number: PHPExcel 1.0.0 RC
  249. 2007/01/22:
  250. - Fixed some performance issues on large-scale worksheets (mainly loops vs. indexed arrays)
  251. - Performance on creating StringTable has been increased
  252. - Performance on writing Excel2007 worksheet has been increased
  253. 2007/01/18:
  254. - Images can now be rotated
  255. - Fixed bug: When drawings have full path specified, no mime type can be deducted
  256. - Fixed bug: Only one drawing can be added to a worksheet
  257. 2007/01/12:
  258. - Refactoring of some classes to use ArrayObject instead of array()
  259. - Cell style now has support for number format (i.e. #,##0)
  260. - Implemented embedding images
  261. 2007/01/02:
  262. - Cell style now has support for fills, including gradient fills
  263. - Cell style now has support for fonts
  264. - Cell style now has support for border colors
  265. - Cell style now has support for font colors
  266. - Cell style now has support for alignment
  267. 2006/12/21:
  268. - Support for cell style borders
  269. - Support for cell styles
  270. - Refactoring of Excel2007 Writer into multiple classes in package SpreadSheet_Writer_Excel2007
  271. - Refactoring of all classes, changed public members to public properties using getter/setter
  272. - Worksheet names are now unique. On duplicate worksheet names, a number is appended.
  273. - Worksheet now has parent SpreadSheet object
  274. - Worksheet now has support for page header and footer
  275. - Worksheet now has support for page margins
  276. - Worksheet now has support for page setup (only Paper size and Orientation)
  277. - Worksheet properties now accessible by using getProperties()
  278. - Worksheet now has support for row and column dimensions (height / width)
  279. - Exceptions thrown have a more clear description
  280. Initial version:
  281. - Create a Spreadsheet object
  282. - Add one or more Worksheet objects
  283. - Add cells to Worksheet objects
  284. - Export Spreadsheet object to Excel 2007 OpenXML format
  285. - Each cell supports the following data formats: string, number, formula, boolean.