XLSReadWriteII 4.0

4.00.12
! Files from Excel 2007 saved in Excel 97 format could result in error message when opened in Excel ("Some formats where deleted...").

4.00.11
! Fixes a bug introduced in 4.00.10 that casued an exception when reading some files.

4.00.10
+ Multiple print areas can now be defined. In order to define more than one area, separate the areas with the 
ListSeparator character. 
Example: 

  with XLS.InternalNames.Add do begin
    BuiltInName := bnPrintArea;
    Definition := 'Sheet1!$A$1:$D$10' + ListSeparator + 'Sheet1!$A$12:$D$20';
  end;

! Some files with metafile pictures where not correct written.
! Combo boxes didn't work.

4.00.09
+ Speed optimization when grouping rows.

4.00.08
+ PNGImage and ZLib are now distributed with the package.
! Fixed error "Unknown default record" when reading back files created with the component.

4.00.07
+ More speed optimization when reading Excel 2007 files.
+ Speed optimization when writing Excel 2007 files.

4.00.06
! Integer cells where not written correct in Excel 2007 files.

4.00.05
+ Speed optimization when reading Excel 2007 files.
! Exception "Duplicate tag" on some Excel 2007 files.

4.00.04
! It was not possible to run more than one instance of an application (with XLSReadWriteII) that read Excel 2007 file.
! Exception on reading some Excel 4.0 files.
! Some rare files with pictures could result in "Expected record missing: BLIP" exception.

4.00.03
! Some formulas didn't work.

4.00.02
! Defined names where the first part looked like a cell ref didn't work.
! Fixed problems when adding rows.

4.00.01 
! Fixed problems with formulas in files with chart sheets.

4.00.00
+ Support for Excel 2007 XML files.

3.01.05
! Fixes error introduced in 3.01.04, exceprtion when reading files with graphics.

3.01.04
! Files with notes didn't work in Excel 2003 and later.

3.01.03
! Hyperlinks pointing to disk files where not encoded correct.

3.01.02
! Fixed problem with files that had the message "File error, some data may be lost" when opened in excel.

3.01.01
! Some rare excel files could have corrupt string cells.

3.01.00
+ The component now has a built in unzip library, and can hence read Open Office files without external zip components.
! Adding some formulas could cause errors.
! Check boxes where not read correctly (not acceciable from the interface).

3.00.07
! Calculating formulas with unary operators could result in an exception.

3.00.06
*** These bugs was introduced in 3.00.05 ***
! Reading files could cause an exception.
! Error when adding formulas with parantheses.

3.00.05
+ New property in Notes, AlwaysVisible.
! Some graphics in a file could cause an exception.
! AsHTML could result in an exception.

3.00.04
! When setting border style in a Range, the color is now set to xcAutomatic as default.

4.00.00
+ Support for Excel 2007 XML file format.

3.00.03
! Setting row height by pixels didn't work.

3.00.02
! Some rare metafile pictures could cause an exception.
! Some calculations that included string values gave wrong results.

3.00.01
! Deleting a chart serie resulted in an exception.
! Adding chart series could result in an error message when the file was opened in excel.
! When reading a non existent file, there was no default worksheet, and accessing cells resulted in an exception.
! Adding formulas with percent operator resulted in an exception.
! When exporting to HTML, background colors where wrong.
! The property PrintSettings.StartingPage didn't work.
! Memory leak when deleting rows. 

3.00.0
+ New printer options, FitWidth and FitHeight.
+ Margins can be set on Text Boxes.
+ LineColor and FillColor properties for notes and text boxes.
+ Rotation property for drawing objects.
+ Copy print settings between sheets.
+ Check Boxes and Radio Buttons can be used.
+ AutoRowHeight and AutoRowsHeight
+ AutoSizeCell for single cells.
+ Import and Export of CSV files.
+ New property AsHyperlink
+ Format areas (Range property)
+ XLS.Abort method for abort file reading. Useful if a password not is know, as calling Abort not will generate an exception.
+ Master-detail in db-import. Formatting.
+ Encrypted files can be created.
+ Import of Open Office Calc files (This requires an unzip component, such as the free Abbrevia).
+ Read and write macros.
+ Autofilter.
+ Files can now be marked as recomend read only. Property XLS.RecomendReadOnly.
+ Same set of samples for C++ Builder as for Delphi.
+ Improved documentation
! Result of array formulas could not be read correct.
! Built in names bnPrintTitles and bnPrintArea could not be used both at the same time.
! Creating frozen panes didn't work.
! Files with cell validations could result in corrupt files when sheets where copied.
! Problems when using files with Word Mail Merge.
! Some expressions where not calculated correct.
! When calculating, there was an exception on some functions that had a reference as argument.
! Cells formatted with national currency symbols did not show currency symbol.
! Problems with OnProgress
! Excel 4 files with notes could not be read.
! Notes and other drawing objects could not be deleted.

2.02.35
! Time cells formatted with milliseconds where not handled correct.  
! Deleted internal names (#REF!A1) caused an exception.
! TInternalName.Definition is changed from string to WideString. This fixes some problems with unicode sheet names in formulas.
! When calculating, functions with empty argumetnts could cause an exception.

2.02.34
+ New property XLS.Workbook.Date1904. This property is True if the 1904 date system is used.
! Some files with metafile (EMF) pictures could cause an exception.
! Some rare encrypted files could not be decrypted.

2.02.33
+ The speed when adding internal names has improved. Both when adding names in the component, and when the file later is opened with excel. When adding many names, put the code that adds name between calls to BeginUpdate and EndUpdate.
Example:
InternalNames.BeginUpdate;
for i:= 1 to 10000 do
begin
  XLS.InternalNames.Name:= 'Test'+ IntToStr(i);
  XLS.InternalNames.Definition:= 'Sheet1!$A$' + IntToStr(i);
end;
XLS.InternalNames.EndUpdate;

2.02.32
! Array entered formulas could not be read from a cell.

2.02.31
! SheetByName did not work correctly with Delphi 5.
! Contols with macros, such as buttons, didn't work correctly after an internal name was deleted.
! XLS.Sheets[x].Charts[x].Series[x].SerieName sometimes retuned wrong value.

2.02.30
+ New property XLSReadWriteII.Sheets[x].IsDateTime This property returns True if the cell is formattet as a date or time value.
! Some formulas could cause an exception (bug introduced in 2.02.29).

2.02.29
! Writing files with array formulas could result in corrupt files. 

2.02.28
! When the localized time format was AM/PM, the AsDateTime property set wrong cell format.

2.02.27
! Some files with pictures could cause an exception.

2.02.26
! The speed when reading files with many named cells is greatly improved.
! Some memory leaks fixed. 

2.02.25
! Some Excel 5 files created with XLSReadWrite 1.x could not be read.
! Unary "+" operator caused an increment of the cell value.
! Formulas that used power "^" character caused an exception.

2.02.24
+ The NameAsXXX now works with names defined as areas. When the name is an area, the entire area will be filled with the value. Reading a name defined as an area will still generate an exception.
! Calculating sheets with many dependent formulas could result in an endless loop.

2.02.23
! When calculating functions in the OnFunction event, functions whith empty arguments, FUNC(A1;;A2;A3), casued an exception. Now the empty arguments have the value fvNull.

2.02.22
! Some files with pictures caused an exception.

2.02.21
! Deleting sheets with charts could result in (required) fonts beeing deleted as well

2.02.20
! Improved reading of files created with Excel for PocketPC.
! DeleteRows and DeleteColumns could give the wrong result.

2.02.19
! Some files with charts on their own sheet could result in an exception.
! When deleting columns, one column after the last could be deleted.
! The TChartSerie and TChartSerie has changed name to TXLSChartSerie and TXLSChartSeries as the names conflicts with the TChart component.

2.02.18
! The problem in 2.02.17 with strings in non-excel created files needed some more fixes.

2.02.17
! OnFunction event with external refs as argument could cause an exception.
! Some files created with non-excel applications didn't return correct strings.
! Some files caused a "CRN record missing" exception.

2.02.16
! DeleteRows and DeleteColumns could cause cells to be deleted twice.
! FillPatternBackColor did not return correct values.
! Column width where not set if the default column width was changed.

2.02.15
! Some files with graphics could cause a "CHILDANCHOR when shape not is ChildAnchor" exception.
! InsertRows and InsertColumns could cause cells to be inserted twice.
! Long formulas could cause invalid files.
! Some calculationes (like "60000/180000*100'") did not gave the correct result.

2.02.14
! Setting validations to lists could result in an exception.

2.02.13
! Some file could raise an exceptioon that a sheet name allready existed.
! Last formatting could be missed in export of some rich text cells. 

2.02.12
! Some Excel 5 files could cause an exception when the component was destroyed.

2.02.11
! Formulas where not adjusted correctly when rows and columns where inserted. This bug was introduced in a recent update.

2.02.10
! Fill color didn't work with rectangle shapes.

2.02.09
! CopyColumns didn't copy merged cells when copying on the same sheet.
! CalculateSheet could result in an exception if a formula cell type was changed as a result of the calculation. 

2.02.08
! When creating new workbooks, no sheet was selected. This bug was intruduced in 2.02.06
! Files that had more than one charts on their own sheet before the first worksheet where notn written correctly.
! Font color could be wrong if the color palette was changed.
! Files with Word Art graphics could cause an exception.

2.02.07
! Setting the paper size didn't work.
! Some Excel 2.1 files didn't work.

2.02.06
! Functions that contained functions in the argument list could cause an exception.
! Setting the zoom of a worksheet didn't work.
! Changing the color palette didn't work.

2.02.05
! Release 2.01.03 introduced an error when createing internal names.
! Writing strings in Excel 5 files could result in strange characters.
! Setting the active cell (cursor) did not always work.

2.02.04
! Formulas with unary minus caused an exception on calculations.
! External formulas will now fire a OnFunction event instead of an error.
! Last row and last column where not calculated on new files.
! Error when inserting coulmns.
! 3D cell refs where the sheet name could be parsed as a cell ref didn't work.

2.02.03
! Adjustent of cell referrences in formulas, when inserting/deleting columns/rows is improved.

2.02.02
+ The color palette can now be changed. Property XLSReadWriteII2.Palette[Index: integer]: TColor;
! BMP pictures didn't work.

2.02.01
! Fixed minor memory leak.
! Files with charts on their own sheets, that contained drawing objects could not be read.

2.02.00
! The formula encoder has been rewritten in order to solve various problems with formulas.
! Area names are now adjusted correctly when rows/columns are deleted/inserted or sheets are deleted/inserted.
! Merged cells where not handled correct when inserting/deleting rows/columns.

2.01.04
+ Stacked bar charts can be created.
+ Columns can be grouped; XLS.Sheets[x].GroupColumns(Col1,Col2,Collapsed);
! Unicode rich strings with far east data caused corrupt files.
! Calculation of functions that used external names caused an exception. It is now replaced with the #NAME! error in the cell.
! MoveCells and CopyCells could result in an exception.
! Some Excel 95 could not be read.
! Some Excel 4 could not be read.

2.01.03
! Files with some unusual macros could not be read.

2.01.02
! Reading formulas could result in an exception. This error was intruduced in v. 2.01.01 in an attempt to remove a comiler warning.

2.01.01
+ Rich Text (RTF) files can now be read/written to/from cell notes and text boxes. RichTextLoadFromStream, RichTextLoadFromFile, RichTextSaveToFile and RichTextSaveToStream methods;
! Unary minus before cell ref in formulas resulted in #VALUE error.
! First character where missing in strings in Excel 4 files.

2.01.00
+ New function, FindText. FindText will search all string cells for a given text string. Please see the included sample for more information.
! Improved reading of Excel4 files.

2.00.36
+ New property XLSReadWriteII.Sheets[x].SheetProptection. With this proprty sheet protection can be set with the same options as in the Excel menu Tools->Protection->Protect sheet.
! Data validations set to a list of valus didn't work when the source was a sheet area.
! Formulas with unary minus constants didn't show correct values in Excel.

2.00.35
! Some complicated files could cause an exception when the component was freed.
! Setting a sheet name to an identical text caused an exception.
! Sheet names that contained operator symbols (+,-,/, etc) needed single quoutes around them, but quoted names didn't work.

2.00.34
! Creating files with a large ammount of rich text cells could result in corrupt files.

2.00.33
! Hidden rows didn't work.
! Property InternalNames[x].SheetIndex (that didn't give correct values) has been replaced with InternalNames[x].Sheet
! ClearWorksheet could result in corrupt files.
! ClearData could give unexpected result.

2.00.32
! GetDEVMODE has been disabled. It was only used for reading the default paper size.

2.00.31
! Hidden sheets where saved as visible.
! Adding cells in formatted rows/columns could result in an exception when the coponent was freed.

2.00.30
! Calculation of macro formulas didn't fire the OnFunction event.
! Hyperlinks with links to disk files could result in corrupt files.

2.00.29
! Large metafile pictures caused error.
! Files with sheet protection could cause error.

2.00.28
! Chart category values didn't work if a series text where assigned.
! Chart X and Y axis labels didn't work.

2.00.27
! Some encrypted files could cause error.
! Files with many strings could cause error.
! Rows added with AddIfNone had the height set to zero.
! Files created with OpenOffice could cause an exception on destruction of the component.

2.00.26
(Never released)

2.00.25
! Formulas with cell refs as argument could result in #VALUE error in the cell.
! Named areas didn't work correct.
! Strings where not written correctly in Excel 5 files.
! ApplyFormat.Format didn't work correct.
! Changing font format of a cell could result in lost formatting.
! Encrypted files with pictures could not be read.
! There could only be one PrintTitles name per workbook.  

2.00.24
! Linefeed didn't work in rich text cells.
! Adding cell notes could cause corrupt files.

2.00.23
! Creating a named area that was a single cell could give an error.

2.00.22
+ Circular calculations of cells will now cause an exception, instead of
  a stack fault.
+ New property, XLS.Sheets[0].Selection that let you control which cells
  that are selected when the workbook is opened.
+ New property XLS.Sheets[0].NameAsCell['MyCell'] that will return the TCell
  of a named cell. Can be used for formatting the cell.
! Exception if formulas started with an absolute cell ref ($A$1).
! Property XLS.Workbook.SelectedTab didn't work.
! Error when adding unicode strings (introduced in 2.00.20).
! Error when adding the same rich text to several cells.
! Frozen panes didn't work correct.

2.00.21
! Error when moving merged cells. Last merged cells where not moved correct.
! BuiltInName bnPrintTitles only accepted semicolon as list separator.
! Various errors when calculating formulas.
! AutoWidthCol could set the column width wrong if the widht where less than
  the default.

2.00.20
+ New method XLSReadWriteII.Sheets[x].Columns.AddIfNone(Col,Count);
  Use this method to ensure that there is a column object before accessing it.
! Some encrypted files caused an exception.
! The problem with adding large ammounts of strings is fixed again.

2.00.19
! Creating files with more than 100,000 strings could result in corrupt files.
! Built in name bnPrintTitles can now be set to both rows and columns.
  Do so by separating the areas with the ListSeparator global variable.
  Example: Sheet1!$A$1:$H$65536,Sheet1!$A$1:$IV$3
  This will set bnPrintTitles to columns A-H and rows 1-3.

2.00.18
! Problem with function result that gave #VALUE error in cells shall now
  be solved.
! Functions with functions as argument where not handled correctly.
! ROUND worksheet function gave wrong result when calculated.
! The XLSReadWriteII.Font property could not be edited in the Object
  Inspector.

2.00.17
! Unicode strings in sheet names got the last character wrong.

2.00.16
! Fixed problem when inserting rows/columns on empty sheets.
! Calculation on non-numeric cells now works. These cells returns zero.

2.00.15
+ Added properties for accessing cells as TDateTime, AsDateTime and AsDateTimeRef.
! Fixed problems with some (complicated) formulas.
! Combo boxes in Sort caused corrupt files.

2.00.14
First officiall release of version 2.0

