What's new in TMS FlexCel for VCL & FMX 7.17

Jun 25, 2023
  • New: Now FlexCel preserves digital signatures in macros
  • New: New property DeleteEmptyBandsFixed in FlexCelReport controls what to do with empty fixed bands
  • New: Improved the experimental Lazarus support
  • New: Improved API for defining columns in tables
  • Fixed: When recreating a table by calling AddTable and SetTable, the cell references could become invalid
  • Fixed: The functions IFERROR, ISERROR and ISERR could sometimes return the error instead of the result of the function.
  • Fixed: The functions COUNTIF, SUMIF and similar could behave wrong in some cases where you used wildcards. See https://support.tmssoftware.com/t/countif-formula-with-wildcard-failing-after-recalc-method-is-called/19266
  • Fixed: The function [TRIM](https://support.microsoft.com/en-us/office/trim-function-410388fa-c5df-49c6-b16c-9e5630b479f9) in Excel removes double spaces in the middle of a text, while FlexCel's implementation would remove only spaces at the beginning at end. Also Excel's TRIM only removes spaces (character 32) and not other whitespace like tabs. FlexCel's implementation now does the same.
  • Fixed: The function =NUMBERVALUE() could throw an Exception in some border cases
  • Fixed: Setup would fail to install if there was a "," in the path
  • Fixed: FlexCel could fail to read some encrypted files raising an error 'Error in CryptoAPI: $80090004'.

New in TMS FlexCel for VCL & FMX 7.16 (Sep 21, 2022)

  • New : Support iOSSimulator Arm64
  • Improved : Support for different numeric systems in cell formatting
  • Fixed : When rendering charts that used =Offset to define the data, and some columns or rows were hidden, FlexCel could fail to hide the values when the chart was set to not plot hidden cells.
  • Fixed : When exporting to CSV, there could be errors if you manually set cell values to NaN.
  • Fixed : When exporting in Linux the pdfs could be wrong, due to a bug in Delphi. This release workarounds this bug and allows correct exporting from Linux.
  • Fixed : In some rare cases when there was merged cells whose first cell was hidden the background might not be exported to pdf.
  • Fixed : If printing gridlines and there were hidden columns or rows, the gridlines could be printed over the real borders of a cell.
  • Fixed : If exporting to PDF and the "normal" font of the spreadsheet was Calibri 9 columns could be wider than expected.
  • Fixed : FlexCel could hang while loading some invalid third-party files.

New in TMS FlexCel for VCL & FMX 7.15 (Jul 14, 2022)

  • New : You can now run reports on TList like TList
  • New : Support for functions TEXTBEFORE, TEXTAFTER, TEXTSPLIT, HSTACK, VSTACK, TOROW, TOCOL, WRAPROWS, WRAPCOLS, TAKE, DROP, CHOOSEROWS, CHOOSECOLS, and EXPAND
  • New : Support for functions MAP, REDUCE, SCAN, MAKEARRAY, BYROW, and BYCOL
  • New : Support for functions FILTER, SORT, SORTBY, and UNIQUE
  • New : New SHEET VISIBLE tag that allows to change the visibility of a sheet in a report
  • New : Experimental Lazarus support
  • New : Ability to change the newline separator when exporting to CSV or Fixed-lenght text files
  • Improved : Support for Array formulas, UDFs, external names and Lambda names in Tokens
  • Improved : Improved behavior when inside Docker containers
  • Improved : Function "INDEX" is now array-enabled
  • Fixed : When third-party files had invalid modify/creation dates, FlexCel would refuse to open them. Now it will just ignore invalid dates and let those properties empty.
  • Fixed : There could be errors in some specific cases when copying sheets from one file to another which had linked formulas.
  • Fixed : The limit for custom formats in xls files was in 4000 when it really is 4050. We've updated FlexCel to allow 4050 custom formats when saving as xls.
  • Fixed : The functions SWITCH and IFS could fail is some border cases.
  • Fixed : The [TYPE](https://support.microsoft.com/en-us/office/type-function-45b4e688-4bc3-48b3-a105-ffa892995899) function didn't return 128 for lambda functions.
  • Fixed : Sometimes RenderObjects would not render the images. See https://support.tmssoftware.com/t/images-disappear-sometimes/18567/6
  • Fixed : Some files containing khmer characters (or other complex scripts) could raise an exception when exporting to pdf.
  • Fixed : Cells with diagonal borders, but borders style set to none could be rendered by FlexCel in some cases.
  • Fixed : Bubble charts could render bubbles of the wrong size if there were empty points in the chart data with bubble size different from 0.
  • Fixed : APIMate generated some code with invalid syntax in C++.

New in TMS FlexCel for VCL & FMX 7.14 (Jan 30, 2022)

  • New : Support for optional lambda parameters
  • New : Support for bubble charts
  • New : New CustomizeChart event for reports
  • New : New <#Swap Series> tag for reports
  • New : IsOmitted function support
  • Improved : Support for localized versions of the CELL function
  • Improved : Improved recovery mode
  • Fixed : Sometimes it was not possible to read properties from xls files.
  • Fixed : Now FlexCel will throw an exception if you try to save a chart with more than 255 series. Before this release, FlexCel would just save the file, but a file with more than 255 series crashes Excel.
  • Fixed : It was impossible to manually enter lambda formulas referring to names if [AllowEnteringUnknownFunctionsAndNames](://@api/FlexCel.Core/TExcelFile/AllowEnteringUnknownFunctionsAndNames.html) was false.
  • Fixed : APIMate wouldn't report deleted chart titles, which could lead to chart titles appearing when there was a series with a name.
  • Fixed : A horizontal fixed band in a report would insert columns if using more than the fixed space, instead of just overwriting the cells.

New in TMS FlexCel for VCL & FMX 7.13 (Dec 12, 2021)

  • New : Support for the "Black and white" printing option in Excel
  • New : Support for office 2021
  • New : Support for Radar charts
  • New : New convenience method LoopOverUsedRange that can be used to loop over a range of cells
  • New : Ability to set the bottom row when specifying an autofilter
  • Improved : New property IsLocked in TShapeOptions
  • Improved : New properties TextHorizontalOverflow and TextVerticalOverflow in TShapeProperties
  • Improved : New overloaded version of SetObjectProperty for booleans
  • Improved : New method SetObjectProperties to set all the object properties in one step
  • Improved : New convenience properties TextRotated, TextVerticalAlignment, TextHorizontalAlignment and LockText in TShapeProperties
  • Improved : Improved legend drawing in charts
  • Improved : Android demos now use AndroidX instead of Support Library
  • Fixed : When setting an Axis position in a chart to cross in the max value with the API, the value was ignored and it always used the manual crossing point.
  • Fixed : Some hidden fills in files could be read as normal fills and so would appear if reading and saving a file.
  • Fixed : Rotation of Axis text set by the API was ignored.
  • Fixed : Background of Axis text set by the API was ignored.

New in TMS FlexCel for VCL & FMX 7.6.2 (Jun 4, 2020)

  • Fixed : When adding a chart to a file via the API and immediately rendering it to PDF without saving it, the chart might not be rendered in the PDF file.
  • Fixed : Previously the last row in "X" Bands in reports was deleted before the detail bands were inserted. This could cause unwanted behavior if the details shared the same rows as the master. Now last rows in X Bands will be removed after the details are inserted.
  • Fixed : DbValue could raise Exceptions in some cases.
  • Fixed : A fixed band inside a master-detail bidirectional report would behave as non fixed.

New in TMS FlexCel for VCL & FMX 7.6.1 (May 31, 2020)

  • New : Support for Rad Studio 10.4 Sydney
  • Improved : Improved conversion from strings to numbers
  • Fixed : Deeply nested array formulas could return N/A results in some corner cases

New in TMS FlexCel for VCL & FMX 7.6 (May 13, 2020)

  • New : Support for rendering logarithmic charts
  • New : Support for Rad Studio 10.4 Beta
  • Improved : When rendering pages to PDF and PNG, if an image or chart goes over the columns or rows in a page, now it won't overflow
  • Improved : Now FlexCel won't throw an Exception if a Font folder in the PDF FontFolder path doesn't exist
  • Improved : Now FlexCel will search in c:WindowsFonts and %localappdata%MicrosoftWindowsFonts for fonts when exporting to PDF
  • Improved : Improved handling of chart gaps when there are null values
  • Fixed : Xlsm files containing macros and with sheet names starting with a number and bigger than 24 characters, could generate invalid files when saved in FlexCel.
  • Fixed : When manually installing FlexCel in Delphi XE, Delphi XE would raise an exception. Note that this is a fix only for manual installation: automatic installation worked fine.
  • Fixed : Sometimes when calling RenderObjects the border of a chart would not be exported to PDF or PNG.
  • Fixed : Now FlexCel will validate when manually setting a sheet codename, that the name is ASCII and starts with a letter.
  • Fixed : Now FlexCel will draw a maximum of 10000 ticks per axis in charts, to avoid taking too long drawing too many ticks that aren't visible anyway.
  • Fixed : Manually positioned labels in stacked bar charts were a little offset from their manual position.
  • Fixed : Leader lines in stacked bar charts were wrong when the axis was reversed
  • Fixed : FlexCel would consider a protected range title containing a "?" invalid. This would prevent it from loading files that used "?" in protected ranges.
  • Fixed : Bidirectional reports could fail to delete rows or columns in complex reports.

New in TMS FlexCel for VCL & FMX 7.5.1 (Apr 4, 2020)

  • Fixed : With some combinations of Delphi versions and platforms, you could get Access Violations when opening files in FlexCel 7.5. This was caused by a bug in the way Delphi handles method inlining, and it didn't happen in previous FlexCel versions.

New in TMS FlexCel for VCL & FMX 7.5 (Apr 2, 2020)

  • New: Support for importing bullet lists when importing html
  • New: Support for calculating the upcoming XLookup, XMatch, RandArray and Sequence functions
  • New: Support for adding charts to a sheet with the API (xlsx files only)
  • New: Support for .NET Core 3.1
  • New: Removed support for .NET Core 1.0 and .NET Standard 1.5
  • New: Preserving and adapting single cell mappings in XML Maps in xlsx files
  • New: Now SetSeries and AddSeries, DeleteSeries work also in xlsx charts
  • New: New set method in the properties PlotArea, Background in ExcelChart
  • New: New methods SetTitle, SetOptions, SetChartLegend, SubchartCount, GetSeriesInSubchart, SetSeriesInSubchart and AddSubchart in ExcelChart
  • Improved : Improved compatibility with invalid third party files
  • Improved : Better chart rendering when there are date axis
  • Fixed: When rendering charts you could get an index out of bounds in some corner cases.
  • Fixed: FlexCel will ignore invalid themes when reading xls files
  • Fixed: FlexCel wasn't calculating conditional formats if the formulas defining the conditions were array formulas.
  • Fixed: FlexCel could fail to process some files where a shape had an ending coordinate smaller than the starting coordinate.

New in TMS FlexCel for VCL & FMX 7.1.1.0 (Jan 28, 2020)

  • New : New __ALIAS postfix in named ranges allows multiple ranges to the same database
  • Fixed : When using a not standard row height for the whole sheet, FlexCel would create new rows to have automatic height, instead of having the standard row height for the sheet. This could confuse Excel.
  • Fixed : The report designer failed to start.
  • Fixed : In some corner cases charts saved by FlexCel inside xlsx files would fail to load.
  • Fixed : FlexCel will now check that font sizes saved are between 1 and 409 points. Before it would let you save any font size, and invalid font sizes would crash Excel when opening the file.
  • Fixed : Effects for an image in the background of an image could be incorrectly saved. In some cases, this could cause Excel to crash.

New in TMS FlexCel for VCL & FMX 7.1.0.0 (Dec 3, 2019)

  • Improved : Updated to the latest version of Skia for Linux
  • Improved : The HTML engine can now parse tags
  • Improved : Support for calculating BAHTTEXT function
  • Improved : Reports can now use nested properties in Aggregates, Filters, Sort and Master-details relationships
  • Improved : Removed overload method TExcelFile.GetImage(Integer, string, TXlsImgType, TStream)
  • Improved : Now you can use report expressions that call themselves recursively, as long as the recursion converges
  • Improved : Now for reports you can set semi-absolute references in the config sheet
  • Improved : Improved recalculation speed and decreased memory usage
  • Improved : Improved compatibility with invalid xlsx files
  • Improved : Improved chart rendering
  • Improved : Android64 Support
  • Fixed : FlexCel would nor correctly read or write left and right cell borders in strict xlsx files.
  • Fixed : FlexCel was failing to render images which had an image filled background.
  • Fixed : FlexCel might not preserve comment backgrounds in xlsx files if the background was an image or texture.
  • Fixed : FlexCel could fail to open some files which didn't completely implement the xlsx spec but which Excel could open.

New in TMS FlexCel for VCL & FMX 7.0.0.0 (Aug 30, 2019)

  • New : The <#evaluate> tag in reports can now evaluate a string multiple times
  • New : Support for semantic theme colors
  • New : Support for rendering charts inside xlsx files
  • New : Support for creating or reading xlsx files with uncompressed size bigger than 4 Gb
  • New : Support for Delphi Rio 10.3.2 including the new macOS 64 platform
  • New : New overloads for DeleteSheet allow to delete a sheet by its name or index
  • New : Most properties in TDrawingRichString are now nullable
  • New : Improved compatibility with "Autosave" in Excel 2019
  • New : GetHtmlFromCell now can add the cell formatting to the resulting string
  • New : FlexCel will now generate "faux" bold and italics when exporting to PDF
  • New : Ability to specify different fallback fonts for italic, bold or bold-italic variants when exporting to PDF
  • Improved : The Links property of TSheetSelector now is a readonly list of TSheetSelectorLink
  • Improved : Improved support for Excel themes
  • Improved : Improved rendering in iOS, macOS, Android and Linux
  • Improved : Improved drawing of patterns and conversions from xls to xlsx
  • Improved : Improved drawing of gradients and conversions from xls to xlsx
  • Improved : Improved drawing of autoshapes
  • Improved : Improved conversion between strict and transitional xlsx files
  • Improved : Improved compatibility with invalid files created by third-party tools
  • Improved : Improved compatibility when saving strict xlsx files
  • Improved : Improved bidirectional text handling
  • Improved : Function Cell("filename") now returns the filename
  • Improved : Breaking word in hyphens
  • Fixed : When using the SKIA/Android graphic stack some lines in the charts could appear not connected.
  • Fixed : When exporting a file as HTML with tabs for sheets and there were hidden sheets between sheets, the links in cells to a different tab could be incorrect.
  • Fixed : When autofitting columns with line feeds (character 10) inside, FlexCel might fail to recognize them and try to fit everything in one line.
  • Fixed : Sometimes when copying cells between files the indexed colors could be converted to similar but not equal RGB colors.
  • Fixed : Some non visual characters like "right to left mark" were exported to pdf, even when they are invisible. Now they don't show in the generated pdfs.
  • Fixed : Some hyperlinks in xls files could return an empty string when read, even if they had data.
  • Fixed : Lines with 0 width were not showing in SVG files.
  • Fixed : In html exporting, a cell which expanded over adjacent cells could cause the output to shift if there were hidden columns in the middle.
  • Fixed : FlexCel won't let you save files where tables have 0 rows of data, since that would become an invalid xlsx file. Now it will raise an exception if trying to save such file.
  • Fixed : FlexCel won't let you enter empty array members anymore, like in the formula ={1,,2} which would create an xlsx file which could crash Excel. It will also automatically remove spaces before and after the element, so the formula ={ 1, 2, 3 } will be entered as {1,2,3}. Before this version, the formula ={ 1, 2, 3 } would be considered invalid.
  • Fixed : FlexCel was not exporting correctly to CSV when using Big-Endian UTF16 encoding.
  • Fixed : Arrows in lines were not scaling when printed or exported at a zoom different from 100%.
  • Fixed : An unitialized variable when running reports could crash the report in rare cases

New in TMS FlexCel for VCL & FMX 6.26.0.0 (Mar 17, 2019)

  • New : In Reports now you can reference tables which include dots by writing <#[db.something].field>
  • Improved : Now FlexCel won't throw an exception when reading custom properties in an xls file if the values of the property aren't defined
  • Improved : Improved compatibility with LibreOffice/OpenOffice
  • Fixed : Workaround a GDI+ bug which could cause Internal errors when using small path gradients.
  • Fixed : When rendering charts, if the axis was reversed and the labels were aligned to the right, FlexCel would render them to the left and vice-versa.
  • Fixed : The setup wasn't compiling c++ headers for Android and iOS in Rad Studio Rio.
  • Fixed : If an xlsx file contained negative offsets to a shape, FlexCel could render the shape incorrectly.
  • Fixed : FlexCel would fail to read xlsx files with formulas that contained unknown user defined functions that returned a reference type.
  • Fixed : FlexCel will now render labels in stacked charts more like Excel renders them.
  • Fixed : FlexCel will now render labels in a 100% stacked chart as the values, not the percent in the charts.

New in TMS FlexCel for VCL & FMX 6.25.0.0 (Mar 1, 2019)

  • New : New parameter in ATLEAST tag in reports allows for the number of rows of a dataset to be multiple of a number
  • Improved : Improved rendering of TFlexCelPreview in FireMonkey in Windows when in High dpi
  • Improved : Improved handling of invalid "," in numeric formats
  • Improved : Improved APIMate
  • Fixed : FlexCelPreview wasn't working correctly in Android. Some changes in the Android API made some methods used by FlexCelPreview deprecated. Now we call the newer methods.
  • Fixed : FlexCel could fail when rendering cells with more than 32000 characters

New in TMS FlexCel for VCL & FMX 6.24.0.0 (Jan 25, 2019)

  • New : TFlexCelDocExport now uses a different way to share files in Android
  • New : New methods SetRange3DRef and TrySetRange3DRef in TXls3DRange
  • New : Cell indent is now printed and rendered to pdf/images proportional to the print scale
  • Improved : The examples for Android show a newer way to share the documents
  • Improved : The INDIRECT function can now understand structured references in tables
  • Improved : DbValue in reports now supports fields with dots
  • Fixed : When deleting columns the data validations formulas could be adapted wrong.
  • Fixed : When a line in rich text inside a text box had a length 0 (an empty line), the font might not be preserved for that line.
  • Fixed : FlexCel considered some special characters like "°" in a name to be invalid when they are not. This could cause that opening and saving an xlsx file with names like that would make Excel crash opening the file.

New in TMS FlexCel for VCL & FMX 6.23.0.0 (Nov 24, 2018)

  • New : Support for Delphi 10.3 Rio added
  • New : Now you can find see the call stack in circular formula references when you call RecalcAndVerify
  • New : Now there is support for calculating function RANK.AVG
  • New : New methods UnshareWorkbook and IsSharedWorkbook in ExcelFile
  • New : New method PivotTableCountInSheet in ExcelFile
  • Improved : The installer should now install anyway even if your MSBuild command line is longer than 32000 characters
  • Fixed : There could be an error when copying sheets between workbooks and the sheet copied had a shape with a gradient.
  • Fixed : The function IFNA could in very rare corner cases return #N/A if its first parameter was #N/A instead of returning the second parameter.
  • Fixed : Some xlsx files with legacy headers could fail to load.
  • Fixed : Floating point numbers that were either infinity or not-a-number were saved wrong in the files and Excel would complain when opening them. Now they will be saved as #NUM! errors. Note that this only happened if you set a cell value explicitly to Double.NAN or Double.Infinity. Formula results which were infinity or nan were already handled fine.

New in TMS FlexCel for VCL & FMX 6.22.0.0 (Oct 7, 2018)

  • New : Support for Excel 2019
  • New : Reports now can use tables as datasources
  • New : New method to rename tables
  • New : New Debug mode for Intelligent Page Breaks
  • Improved : Better drawing of conditional formats at very low or high zoom levels
  • Fixed : When rendering a file to pdf or images FlexCel could pick the wrong normal font in very rare cases.
  • Fixed : When deleting rows in reports with multiple levels of intellignet page breaks the engine could calculate more page breaks than necessary.
  • Fixed : The function Rank.EQ was ignoring cells with errors while Excel returns the first cell with error if any cell in the range has an error.
  • Fixed : Reports in DataSets with primary keys of type GUID could throw a null reference exception if the master key didn't exist for a detail instead of outputting an empty row.
  • Fixed : Inside a <#preprocess> section of a report a <#delete row> or <#delete column> tag could end up deleting the wrong column.
  • Fixed : FlexCel wouldn't let you rename a sheet to the same name but with different upper or lower cases.
  • Fixed : FlexCel will now validate that a table isn't named the same as a defined name or vice-versa, to avoid creating invalid Excel files.
  • Fixed : Error when calculating What-If tables that had their variables in a different sheet.
  • Fixed : CountIF, CountIFs and similar xIf/xIfs functions could return ERRNA if one of the conditions was an unknown user function, instead of returning 0 as Excel does.
  • Fixed : Cell indent was not being considered when autofitting rows or columns.
  • Fixed : APIMate could report code that wouldn't compile for embedded xml content.

New in TMS FlexCel for VCL & FMX 6.21.6.0 (Sep 4, 2018)

  • Improved : Updated Skia libraries to the latest
  • Fixed : FlexCel would fail to load "Strict Open XML files" with formulas which returned dates.
  • Fixed : FlexCel could crash when rendering xls files with rare images.

New in TMS FlexCel for VCL & FMX 6.21.5.0 (Aug 16, 2018)

  • Fixed : the IFERROR function could give a #VALUE! error in some cases when used chained with other functions.
  • Fixed : There could be a Nullable type error when loading files with specific combo boxes.
  • Fixed : Tables with columns in more than one line could cause Excel to show an error.
  • Fixed : Formulas that referred to different files could refer to the wrong sheet on those linked files in some rare cases.
  • Fixed : FlexCel could fail to parse complex structured references in tables.

New in TMS FlexCel for VCL & FMX 6.21.0.0 (Jul 21, 2018)

  • Improved : ApiMate now reports hidden sheets
  • Fixed : When in R1C1 mode, full ranges expanding more than 1 row or column like for example Sheet1!3:5 could be returned as Sheet1!5 only.
  • Fixed : When hiding a column without a given width and the default column width was different from the Excel default, the column wouldn't be hidden when saving as xls.
  • Fixed : There could be an error in ClearSheet with some special images.
  • Fixed : Sometimes cells formatted as "center on selection" were not rendered when exporting them to pdf or html.
  • Fixed : Improved chm help
  • Fixed : If a "rows to repeat at top" or "columns to repeat at left" range was outside the print area, FlexCel would ignore it, while Excel will use it anyway. Now FlexCel behaves like Excel and uses the repeating range even if it is outside the print area.

New in TMS FlexCel for VCL & FMX 6.20.0.0 (Jun 27, 2018)

  • New : New overloads for methods SetCellFromString and GetStringFromCell now accept cell references
  • New : New overload for method TPartialExportStart.SaveCss which allows to save the css without the tags
  • New : Full support for reading and writing Data Connections in xlsx files
  • Improved : Improved performance with thousands of merged cells
  • Improved : Improved chart rendering
  • Fixed : There could be an error in GDI+ when exporting emf images to html
  • Fixed : The [Copy and Paste](://@samples/delphi/api/copy-and-paste/index.html) demo wasn't correctly copying the data in TEXT format. Now it shows the correct way to copy text to the clipboard.
  • Fixed : Setup wasn't generating hpp files for iOS and Android with Delphi Tokyo.
  • Fixed : Memory leak with color scale conditional formats when calling InsertAndCopyRange.

New in TMS FlexCel for VCL & FMX 6.19.5.0 (May 21, 2018)

  • New : The XlsChart object now returns the 3D properties for xls charts
  • New : Now functions CUMIPMT and CUMPRINC are supported when recalculating
  • New : New methods GetTokens and SetTokens in ExcelFile allow you to parse arbitrary text
  • Improved : When wrapping text, now FlexCel recognizes different kind of unicode spaces
  • Improved : Now FlexCel preserves "new style" sheet and workbook protections in xlsx files
  • Improved : Improved Excel 95 compatibility
  • Fixed : When exporting to pdf you could get an error if a character didn't exist and fallbackfonts was empty.
  • Fixed : Sometimes when copying sheets form different files, some named ranges would not be copied.
  • Fixed : SetCellFormat with ApplyFormat could format the cells wrong if the cells were empty and there was column or row format applied.
  • Fixed : Khmer text could be rendered wrong is some rare cases.

New in TMS FlexCel for VCL & FMX 6.19.0.0 (Mar 9, 2018)

  • New : Support for Khmer language when exporting to pdf
  • Improved : Reduced memory usage when exporting
  • Improved : Images made transparent with Excel now are converted between xls and xlsx files
  • Fixed : The round function now behaves more like Excel and not like C# in some border cases.
  • Fixed : In some invalid cases the indirect function would throw exceptions that would be later processed. While the result was still ok, those exceptions could slow down a lot recalculation in a file with thousands of formulas.
  • Fixed : In some cases after copying rows, then deleting sheets and then inserting or deleting rows, the formula bounds cache could be invalid and formulas would fail to update in the lase deleting of the rows.
  • Fixed : Formulas with intersections of a name with a 3d range would be interpreted as #name instead of the correct formula.
  • Fixed : A file with too many objects with the same name could cause an stack overflow.

New in TMS FlexCel for VCL & FMX 6.18.5.0 (Jan 16, 2018)

  • New : New convenience methods SetCellValue(cellRef, value) and GetCellValue(cellRef)
  • Improved : Support for shape connectors in xlsx
  • Improved : Improved compatibility with invalid files generated by third party tools
  • Fixed : When calculating UDFs and there were errors in the arguments, FlexCel could in some cases return #ERRNAME! instead of evaluating the UDF.
  • Fixed : The VLOOKUP and HLOOKUP functions now support wildcards (* and ?) in search strings.
  • Fixed : Reports with [DeleteEmptyBands](://@api/FlexCel.Report/TFlexCelReport/DeleteEmptyBands.html) = TDeleteEmptyBands.ClearDataOnly would not clear text inside textboxes or hyperlinks.
  • Fixed : In some files the calculated height for items inside Forms Listboxes was too big.
  • Fixed : In some bidirectional reports with report.DeleteEmptyBands = TDeleteEmptyBands.MoveRangeUp the tag text was not erased.
  • Fixed : FlexCel failed to read custom document properties saved in UTF16.
  • Fixed : FlexCel could fail to parse some structured references in tables.

New in TMS FlexCel for VCL & FMX 6.18.1.0 (Dec 28, 2017)

  • Fixed : Zoom was not working correctly in the TFlexCelPreviewer component. This was a regression bug introduced in FlexCel 6.18

New in TMS FlexCel for VCL & FMX 6.18.0.0 (Dec 15, 2017)

  • New : Support for default CryptoAPI xls encrypted files
  • New : Support for Rad Studio 10.2.2
  • New : Full support for manipulating XML Mappings in xlsx files
  • Fixed : Xlsx files with complex gradients where the stops were not sorted could cause invalid PDF files.
  • Fixed : When rendering shapes with semi-transparent gradients to PDF or SVG the gradients were exported as fully opaque.
  • Fixed : Very complex and images could cause a GDI+ error when previewing them.
  • Fixed : Textboxes with more than 8224 characters would corrupt the file when saved as xls.
  • Fixed : Rotated shapes inside groups in xlsx files could be rendered wrong.
  • Fixed : Legacy system colors in drawings inside xls files could be rendered as transparent instead of the correct color in border cases.
  • Fixed : Images made transparent with Excel tools might not preserve their transparency when saved as xlsx.
  • Fixed : Groups that were flipped horizontally or vertically weren't flipped when rendering. Objects inside were flipped, but the groups themselves weren't.
  • Fixed : Filled polygons could be exported wrong to images with the SKIA backend used in Linux.
  • Fixed : Filled polygons could be exported wrong to PDF in some border cases.
  • Fixed : Files with table slicers saved by FlexCel might not open in Excel 2013. (They already worked fine in Excel 2016, and Excel 2010 doesn't support table slicers).

New in TMS FlexCel for VCL & FMX 6.17.5.0 (Nov 27, 2017)

  • Fixed : This release workarounds a bug in Delphi XE4 and XE5 which made FlexCel crash when rendering in those Delphi versions. If you have FlexCel 6.17.4 and aren't using XE4 or XE5, then you might skip this update.

New in TMS FlexCel for VCL & FMX 6.17.4.0 (Nov 22, 2017)

  • New : New SubtotalDefaultEnglishString command
  • Improved : Subtotal command allows more customization
  • Improved : Better handling of URL encoding when encoding some filenames
  • Improved : Ability to read custom document properties in xls files
  • Improved : Ability to copy OLE objects between different files while using xlsx file format
  • Fixed : When copying cells from one file to another autofilters would be copied even if they were not in the range being copied.
  • Fixed : There was an error when linking **localized** projects using FlexCelReport.
  • Fixed : The **Last print time** document property wasn't read in xlsx files.
  • Fixed : In some very complex bidirectional reports with sorting in the template the fields might end up not being sorted correctly, and some might appear twice.
  • Fixed : Formulas referencing sheets which could be interpreted like a R1C1 cell reference (like "R3C5") were saved without quotes in the sheet name, and thus became invalid formulas.

New in TMS FlexCel for VCL & FMX 6.17.3.0 (Oct 10, 2017)

  • New : New TFlxNumberFormat.PercentCount method
  • Improved : Better display of negative zero numbers

New in TMS FlexCel for VCL & FMX 6.17.1.0 (Sep 26, 2017)

  • Fixed : The packages in 6.17 could cause an Access violation. If you installed 6.17 please update to 6.17.1.

New in TMS FlexCel for VCL & FMX 6.17.0.0 (Sep 26, 2017)

  • New:
  • Support for reading and writing Strict Open Xml files
  • Support for .NET Standard 1.5, 2.0 and .NET Core 2.0
  • Full Support for Excel tables in xlsx files
  • Ability to add autoshapes to charts
  • Improved:
  • Support for #GETTING_DATA error in TFlxFormulaErrorValue
  • Suport for returning arrays with the INDIRECT function
  • Reduced memory usage when loading fonts for exporting to PDF
  • Now TExcelFile.RenderObject can render shapes inside groups and use an objectPath parameter to specify the name of theobject to render
  • Now FlexCel converts strings with timestamps to dates more like Excel
  • Improved perfomance in reports with thousands of hyperlinks
  • FlexCel will now preserve embedded OLE objects in xlsx files
  • Better support for comments in xlsx file in high dpi
  • All examples available in Github
  • <#row height> and tags in reports now accept expressions

New in TMS FlexCel for VCL & FMX 6.16.0.0 (Aug 21, 2017)

  • New : User defined formats in reports
  • New : New methods TUIFont.CreateFromMemory and TUIFont.CreateFromFile
  • New : Added recalculation support for new functions
  • Improved : Support for double underlines when exporting to pdf and refactored TUIFont
  • Improved : SKIA library updated to the latest
  • Improved : Now you can enter macros that refer to other files with the API
  • Improved : Now when signing PDFs, FlexCel will mark the generated files as requiring Acrobat 8
  • Improved : Improved conversion of control points in autoshapes between xls and xlsx files
  • Improved : Improved behavior of CEILING/FLOOR functions
  • Improved : FlexCel will now check names of tables are valid when you create a table with the API
  • Improved : Examples and demos now use SQLite
  • Improved : Added a new parameter to TExcelFile.RecalcRange
  • Fixed : When the print zoom was bigger than 100% the maximum column to print could be calculated wrong.
  • Fixed : When exporting arabic rich text with multiple formats in the same cell and a scale factor different from 1 to pdf the results could have the wrong font sizes.
  • Fixed : When evaluating data validations with [CheckDataValidation](://@api/FlexCel.Core/TExcelFile/CheckDataValidation.html) introduced in FlexCel 6.15, INDIRECT functions using RC notation were evaluated wrong.
  • Fixed : When doing bidirectional reports with multiple horizontal master detail X ranges, the rows for the vertical ranges could be wrong.
  • Fixed : When a SPLIT tag was used inside a multiple master-detail relationship in a report the results could be wrong.
  • Fixed : The parameters MaxWidth and MinWidth of the <#column width> and <#row height> tags weren't working properly when autofitting. Now they work according to the docs. If you were using MaxWidth and MinWidth in or please review those tags and make sure minwidth and maxwidth are in the correct positions.
  • Fixed : Setup wasn't correctly registering the .NET 4 and newer assemblies in Visual Studio, so those wouldn't appear in the "Add reference" dialog as Extensions. (They were still available if you browsed for them)
  • Fixed : Row() and Col() functions would return 1 when called from <#Format range> or <#Delete range> tags. Now they return the row and column of the cell where the tag is written.

New in TMS FlexCel for VCL & FMX 6.15.0.0 (May 23, 2017)

  • New : Ability to check and evaluate data validations
  • Improved : Improved unicode Bidi Algorithm
  • Improved : Improved tagging of PDF Files
  • Improved : Improved compatibility with invalid files
  • Improved : Improved bidirectional reports
  • Improved : Improved HTML5 exporting
  • Fixed : When exporting to html a merged cell which had columns or rows not hidden but with zero width or height could render wrong.
  • Fixed : When exporting files to PDF or images in iOS64 and you were using system colors (like clWindowsBackground) those colors would be wrong.
  • Fixed : Reports in Delphi XE3 or older would raise an invalid typecast exception when referencing boolean types in records or classes. This was due to a bug in Delphi and didn't affect XE4 or newer.
  • Fixed : Now you can query if a page break at row 0 exists. A page break at row 0 would mean a page break before the first row, and Excel doesn't obey it, but you might end up with such a page break when deleting rows. Now you can check if there is a page break on that row.
  • Fixed : FlexCel failed to open some encrypted Xlsx files saved in Excel 2013 or newer where the key size in the algorithm to encrypt the file was different from the key size in the algorithm to encrypt the key.

New in TMS FlexCel for VCL & FMX 6.14.0.0 (May 22, 2017)

  • New : Support for Web Addins, either of Content or Task pane types
  • New : Support for Table Slicers
  • New : Support for RAD Studio 10.2 Tokyo including full Linux support
  • New : Now you can specify multiple folders with fonts when exporting to pdf
  • New : New static method `CreateKeepingAspectRatio` in `TClientAndhor` allows you to fit an image inside a range of cells maintaining the aspect ratio of the image
  • New : New method SetTable allows to modify existing Tables
  • New : New DrawBorders method in TExcelFile allows to quickly draw a border around a range of cells
  • Improved : Now <#includes> in reports will balance in the containing band
  • Improved : New documentation center
  • Fixed : When you dropped a TFlexCelPreviewer in a FireMonkey form and run the app there would be an exception while debugging in Delphi Berlin about a non existing property. While the exception was caught and the app would run normally if you continued it, now no exception is thrown at all as we adapted the properties for Delphi Berlin.
  • Fixed : When a file with dates starting in 1900 had a linked formula to another file with dates stating in 1904 the value of the dates in the 1904 file would be considered to be at 1900. Similar for a 1900 file linking to a 1904.
  • Fixed : When "Precision as displayed" was set to true in the file options, the recalculation engine could calculate some values with a different precision than the one in the cell.
  • Fixed : TFlexCelPrintDocument.PrintAllVisibleSheets could print the wrong "page n of m" headers or footers when starting to print with a page not in the first sheet being printed.

New in TMS FlexCel for VCL & FMX 6.12.0 (Dec 19, 2016)

  • Improved : The tag in reports might not work in some cases.
  • Improved : Improved performance when creating tens of thousands of names in a file
  • Improved : Improved compatibility with third party created files
  • Improved : Better drawing of labels in charts
  • Improved : APIMate will now suggest to use TSheetProtection.Create(TProtectionType.All/None) instead of TSheetProtection.Create(true/false)
  • Fixed : When copying sheets in a file, some conditional formats could raise a null reference exception.
  • Fixed : In xls files, setting SheetProtection.Scenarios and SheetProtection.Objects had the reverse effect as in xlsx files. Now xls files behave the same as xlsx files. If you are changing the protection of xls files, **review the calls to `SheetProtectionOptions.Objects` and `SheetProtectionOptions.Scenarios` as they might be reversed.** If you are saving as xlsx files, then there is no need to change anything, as xlsx already worked as expected.

New in TMS FlexCel for VCL & FMX 6.11.0 (Dec 19, 2016)

  • New : While it is invalid to write a file with conditional formats or data validations with formulas that refer to other sheets, Excel can load them (but you won't be able to modify them). Now FlexCel can read those too without reporting an error.
  • New : Support for Excel tables in xlsx files
  • New : Support for Delphi Starter
  • New : New properties `FullRecalcOnLoad` and `FullRecalcOnLoadMode` in TXlsFile
  • New : FlexCel could raise an exception when deleting ranges with conditional formats.
  • Improved : Some repeated function results are now calculated only once for better recalculation speed
  • Improved : Performance improvements loading xlsx files with thousands of comments
  • Improved : Performance improvements in function calculations
  • Improved : Performance improvements in formula parsing
  • Improved : Improved rendering of numbers which don't fit inside a cell
  • Fixed : When setting a column format for many columns at the same time and reset cells true, some cells might not be reset.
  • Fixed : When deleting sheets with locally stored defined names and you had multiple references to those names in a single formula, FlexCel could fail to update the names.
  • Fixed : Now FlexCel won't let you enter formulas with unions ranges of numeric or string values. Before it would allow you to enter a formula like "=1, 2" and it would be interpreted as the union of the reference "1" and "2". Excel would read it if saved as xls, but would fail to parse the formula when saved as xlsx. So now we don't allow those formulas anymore.
  • Fixed : In form objects like checkboxes or listboxes saved by Excel 2007 in xlsx files, the resulting coordinates could be wrong if the value of the anchor took more than one cell. FlexCel would move the anchor to the next cell, but Excel just ignores the extra width or height. Note that this only applies to xlsx files saved by Excel 2007, xls files or xlsx files saved by Excel 2010 or later would be correctly read by FlexCel.

New in TMS FlexCel for VCL & FMX 6.10.0 (Dec 19, 2016)

  • New : Support for converting conditional formats between xls and xlsx files
  • Improved : Support for using formulas in "Text" conditional formats
  • Improved : Removed "IsPercent" property from Iconset Conditional Format definitions
  • Improved : Perfomance improvements in pdf engine
  • Improved : Fixed small validation issues in the xml generated for xlsx files
  • Fixed : When copying cells with conditional formats from one xlsx file to another, the borders wouldn't be copied.
  • Fixed : Sometimes with very complex groups of conditional format rules, some could be ignored when exporting to pdf.
  • Fixed : Reversed iconsets were exported not reversed to pdf.
  • Fixed : C++ builder XE7 or older would raise a linker exception when compiling an app using FlexCel without packages in 32 bit.

New in TMS FlexCel for VCL & FMX 6.9.0 (Dec 19, 2016)

  • New : Conditional Format support for xlsx files
  • Improved : Performance improvements in CSV exporting
  • Improved : Perfomance improvements in exporting
  • Improved : Improved C++ builder compatibility
  • Fixed : Font could be wrong in linked shapes

New in TMS FlexCel for VCL & FMX 6.8.6 (Dec 19, 2016)

  • New : User Customization parts preserved in xlsx/m files
  • Fixed : Some invalid png files could cause exporting to pdf to hang.
  • Fixed : A chart with an empty array as range would throw an Exception when saving in xlsx files.

New in TMS FlexCel for VCL & FMX 6.8.5 (Dec 19, 2016)

  • Improved : Controls and drawings in xlsx now are stored in the same hierarchy and a control can be below a shape
  • Fixed : Grouped shapes with more than 2,147,483,647 emus height (approximately 38,000 rows with standard row heights) would be truncated in xlsx files (xls files are always truncated anyway since that is a limitation of the file format).
  • Fixed : External links could fail to load in xlsx files in Excel 2007. (Excel 2010 and up were already ok)

New in TMS FlexCel for VCL & FMX 6.8.4 (Dec 19, 2016)

  • New : Support for rendering linked images (camera tool) to pdf/html/etc
  • New : New TXlsFile.RenderCells overload which allows to render objects and borders

New in TMS FlexCel for VCL & FMX 6.8.2 (Dec 19, 2016)

  • New : Support for preserving ActiveX controls in xlsx files
  • New : Support for camera tool (linked images) in xlsx files
  • New : New global variables TSmoothingMode_FlexCelDefault and TInterpolationMode_FlexCelDefault
  • New : Form controls are now read from and written to the Excel 2010 stream besides the Excel 2007 stream
  • New : Files created with NewFile will now not have printer settings, and the locale of them all will be English
  • Improved : Recovery mode can now open files with invalid format strings
  • Improved : Improved compatibility when opening invalid xlsx files.
  • Improved : Autoshapes in xls files are now rendered using the xlsx definition of them if it is stored in the file
  • Fixed : There could be an error when saving pivot cache slicers or timelines in multiple sheets.
  • Fixed : Some colors in controls or shapes in xls files could be read wrong.
  • Fixed : Some autoshapes with holes inside could be rendered as fully filled.
  • Fixed : Localized projects could fail to find FlexCel resources.
  • Fixed : In some border cases when opening and saving a file multiple times and adding the same format every time, the format could be added each time instead of detecting it already existed.
  • Fixed : Improved rendering of custom xls autoshapes
  • Fixed : FlexCel could fail to load some CSV files.

New in TMS FlexCel for VCL & FMX 6.8.1 (Dec 19, 2016)

  • Fixed : When pasting as text an empty row like $D$A into FlexCel, it would raise an exception.

New in TMS FlexCel for VCL & FMX 6.8.0 (Dec 19, 2016)

  • New : Support for adding horizontal scrollbars with the API
  • New : Support for ShrinkToFit attribute in cells when exporting to pdf/html/svg/images/printing/previewing
  • New : Support for Rad Studio 10.1 Berlin
  • New : New parameter `recalcBeforeConverting` added to ConvertFormulasToValues and ConvertExternalNamesToRefErrors
  • New : New parameter `convertFormulasToValues` added to PasteFromXlsClipboardFormat
  • New : New overload of TFlexCelPdfExport.ExportAllVisibleSheets taking a filename
  • New : New and tags in FlexCel reports
  • New : Full support of Hyperlinks in autoshapes in xlsx files
  • New : Full support for "Allow users to Edit ranges" in the API
  • New : Autosize of chart axis when rendering charts
  • New : tag in reports can now omit the false section
  • Improved : The file created by TXlsFile.NewFile(n, TExcelFileFormat.v2016) now is in the Excel "January update" format
  • Improved : Performance tweaks on the codebase
  • Improved : Better performance when opening csv files
  • Improved : Better chart rendering for xls files
  • Fixed : When rendering conditional formats in xls files sometimes the background color could be ignored.
  • Fixed : When importing fixed text with blank lines, the file might not be imported on its totality.
  • Fixed : When exporting xls bar and column charts with a single data series and "Vary colors per point" = true, FlexCel was not changing the colors on each point.
  • Fixed : When copying sheets with data validations to other files, and the data validations would refer to a list in a different sheet, the data validation would be copied wrong.
  • Fixed : The constructor of TBlipFill wasn't public.
  • Fixed : TXlsFile.DpiForImages would be ignored in some metafiles.

New in TMS FlexCel for VCL & FMX 5.6.5 (Dec 28, 2012)

  • New : XE3 Update 1 support
  • New : Support for recalculating XIRR and XNPV functions
  • Improved : Significantly reduction in the sizes of applications which use FlexCel.
  • Improved : Performance enhancements in different places

New in TMS FlexCel for VCL & FMX 5.6 (Dec 28, 2012)

  • New : Excel file previewer added for FireMonkey
  • Fixed : Many smaller fixes and improvements

New in TMS FlexCel for VCL & FMX 5.5 (Oct 22, 2012)

  • New : Support for reading and writing encrypted .XLS and .XLSX files
  • New : Support for Office 2013 .XLSX
  • New : Support for FireMonkey 2.0
  • New : Support for Delphi XE3 & C++Builder XE3 added
  • New : Native previewing of .XLS and .XLSX files (in VCL)
  • New : Native exporting of .XLS / .XLSX files to a fully standards compliant HTML file
  • New : Native exporting of .XLS / .XLSX files to PDF. Export is 100% native, not third party dlls, Excel or Acrobat are needed.
  • New : Native built-in printing support of .XLS / .XLSX files (in VCL)
  • New : Intelligent page breaks (to keep relevant parts together when printing)
  • New : Autofitting suport. Flexcel can autofit rows and columns in any .XLS and .XLSX file

New in TMS FlexCel for VCL & FMX 5.1.2 (Oct 22, 2012)

  • Improved : Compatibility improvements for Delphi XE2 hotfix 1
  • Fixed : Various small bug fixes

New in TMS FlexCel for VCL & FMX 5.1 (May 10, 2012)

  • New : ApiMate tool for Delphi/C++ Builder that can open any existing .XLS/.XLSX file and show Delphi or C++ code needed to create that file with FlexCel.
  • Improved : Reading in Virtual Mode is significantly faster

New in TMS FlexCel for VCL & FMX 5.0.5 (Mar 30, 2012)

  • New : Now FlexCel can natively recalculate the files, with support of over 200 functions.
  • New : Added support for TXlsxAdapter component for using FlexCel 5 from FlexCel 3. TXlsxAdapter allows you to use a v3 FlexCelGrid with recalculation and xlsx support.

New in TMS FlexCel for VCL & FMX 5.0.2 (Mar 17, 2012)

  • New : Support for C++Builder XE2 added

New in TMS FlexCel for VCL & FMX 5.0.0 (Mar 17, 2012)

  • New : Support for Excel 2007/2010 colors,checkboxes, comboboxes, array formulas, HTML, extended range of rows & columns, ...
  • New : Support for 1048576 rows and 16384 columns.
  • New : Support for .XLS, .XLSX, .XLSM file formats
  • New : Completely rewritten codebase that will over coming releases have full feature parity with Flexcel .NET

New in TMS FlexCel for VCL & FMX 3.5.1 (Jan 16, 2012)

  • Fixed : Bug that could cause a deadlock in threaded applications when autofitting rows or columns.

New in TMS FlexCel for VCL & FMX 3.4 (Jan 27, 2011)

  • Improved : Performance optimizations
  • Improved : Display of rich text in FlexCelGrid
  • Fixed : Workarounded BCB linker bug that could cause problems when using C++
  • Fixed : Bug in the xls parser for complex files
  • Fixed : Bug in FlexCelImport.ColByIndex

New in TMS FlexCel for VCL & FMX 3.3 (Jan 27, 2011)

  • New : RAD Studio XE support

New in TMS FlexCel for VCL & FMX 3.2.2 (Mar 8, 2010)

  • New : Property "CenterredPreview" in FlexCelPreview to center the document in the win

New in TMS FlexCel for VCL & FMX 3.2.1 (Feb 16, 2010)

  • Fixed : Small issues fixed

New in TMS FlexCel for VCL & FMX 3.2 (Feb 16, 2010)

  • New : Support to make Flexcel generated XLS files compatible with Excel 2010 protected mode view

New in TMS FlexCel for VCL & FMX 3.1.1 (Feb 16, 2010)

  • Improved : Improved import of currency and percent values

New in TMS FlexCel for VCL & FMX 3.1 (Feb 16, 2010)

  • New : Support for Delphi 2010 & C++Builder 2010

New in TMS FlexCel for VCL & FMX 3.0.3 (Feb 16, 2010)

  • Improved : Installer path management.
  • Improved : FlexCelDesigner
  • Improved : AdvStringGrid import support
  • Fixed : Some unicode string were lost when working with Delphi versions less than 2009
  • Fixed : Some formulas would raise a "data might have been lost" warning when opening the files in Excel.
  • Fixed : FlexCel could fail to find files stored in TemplateStore. Some formula fixes

New in TMS FlexCel for VCL & FMX 3.0.0 (Feb 16, 2010)

  • New : RAD Studio 2009 support. Optimized for Delphi 2009 to use generics and UnicodeString
  • New : Online documentation
  • New : Native XLS filesystem. The XLS filesystem has been fully rewriten in native pascal code, making it faster and also usable from any operating systems without any third party dlls
  • New : FlexCel Designer. The new FlexCelDesigner doesn't embed Excel as the previous version did making it much more robust
  • New : Easier fully automatic setup
  • New : Completely rewritten Documentation and Demos to provide an easier learning curve
  • Improved : Lots of small improvements and bug fixes. Added support for Autofilters in FlexCelImport. FlexCelReport can now run a report from a stream. New methods ToOADate and FromOADate to make easier to work with 1904 dates. Syntax "=A:B" or "=1:2" to reference full rows or columns is now supported when entering formulas. And much more.

New in TMS FlexCel for VCL & FMX 2.6.26 (Feb 16, 2010)

  • Improved : Several performance improvements were done for reading XLS files
  • Fixed : Issue with loading nested charts

New in TMS FlexCel for VCL & FMX 2.6.24 (Feb 16, 2010)

  • New : Support for displaying Addin functions in cells
  • Improved : Rendering of numeric formats: Now conditions like [>10] inside a numeric format will be displayed by FlexCelGrid. Localized dates (New in Excel XP) are also displayed now
  • Fixed : Various smaller bug fixes & code improvements