New on v 5.6.0.1


New property ExcelFile.PrintLandscape.
Allows for setitng landscape printing easier than with PrintOptions.

Bug fixes.
Small issues in chart preserving. Speed issues when rendering big metafiles.



New on v 5.6.0.0


Chart preserving in xlsx.
Now xlsx charts are preserved and updated when you insert or copy rows, copied when you copy ranges, etc. Charts aren't converted between xls and xlsx file formats, so in order to use xlsx charts you need to start from an xlsx file.

Support for reading Excel 5 and 95 xls files.
While Excel 95 is not in mainstream use, many third party libraries produce xls 95 files today, and now you can read those files directly with FlexCel. After opening them, they must be saved as xls 97 or xlsx.

Support for accessing nested properties when using LINQ in reports.
Now when using LINQ in reports you can access nested properties from the template. If for example you have a class "Orders" and this class has a nested class "Customer", you can write in the template "<#Orders.Customer.Name>". You can use as many nesting dots as needed, as long as the properties have a single value.

Support for calculating circular references.
Now FlexCel can calculate iterative workbooks. The new properties "OptionsRecalcCircularReferences", "OptionsRecalcMaxIterations" and "OptionsRecalcMaxChange" in XlsFile allow you to control the iterative recalculation. As always, the APIMate tool will show how to set those properties in a sheet.

APIMate improvements.
APIMate will now show the schema of the fonts when using themed fonts (Excel 2007).

Bug fix.
There could be an error when manually copying formulas that included named ranges from a workbook to another.

Bug fixes.
<#delete range> tags could work wrong in nested reports. Xlsx files could be invalid after copying cells from other workbook. Better compatibility with xls files generated by other 3rd party tools.

Bug fix.
.NET 3.5 XMLReader can hang when reading some malformed xlsx files. Now FlexCel will throw and Exception when reading those files in .NET 3.5. Note that .NET 4 already worked fine and keeps doing so.

Bug fix.
Xlsx files could save the same image more than once when used in many places. Now only one copy of every unique image is stored.

Bug fix.
Xlsx files without printer information could default to landscape instead of portrait.

Bug fix.
Problem when saving xlsx files with more than one pivot table in different sheets.

Performance enhancements.
When reading 2007/2010 xls files with thousands of manual styles.

Performance enhancements.
Improved xls saving performance.



New on v 5.5.1.0


Bug fixes.
Manual page breaks in xlsx could be ignored by Excel. Improved compatibility with invalid xls files.

Performance improvements.
Exporting to html/mhtml now is faster for some files.

Support for rendering non contiguous print areas.
Now when exporting to Pdf/Html/Images/etc. FlexCel will honor print areas that have many different sections, like "=Sheet1!$A$1:$B$4,Sheet1!$D$5:$F$7".

Bug fix.
In some cases, after copying a chart from one sheet to another, you wouldn't be able to select the chart anymore from FlexCel to continue working with it.

Performance improvements.
Exporting to pdf now is faster for some particular files. A new property "IgnoreFormulaText" in XlsFile allows you to ignore the formula text when reading the cells in a file, speeding up the reading. Look at the "Performance" pdf for more information.

Bug fix: Malformed hyperlinks now can be read.
FlexCel can now read xlsx files with malformed hyperlinks.

Added a new ErrorAction TExcelFileErrorActions.OnXlsxMissingPart.
A new ErrorAction member has been added to allow reading corrupted xlsx files that lack some parts. This is off by default, you need to explicitly call XlsFile.ErrorActions &= !TExcelFileErrorActions.OnXlsxMissingPart for it to work. As with all other errors, when it happens it will be logged to FlexCelTrace.

Bug fixes.
Fixed problem that could rarely happen with nested relationships inside ADO.NET tables in a report.

Bug fixes.
Issue when copying data validations and conditional formats by columns.

Bug fixes.
Support for reading [this row] tokens in formulas inside Excel 2007 tables. We don't still process them and they will be imported s #REF!, but at least you can read the file.

Bug fixes.
When sorting a cell range formulas referring to that range coud be offset by one.



New on v 5.5.0.0


Native support for LINQ and Entity Framework as data sources for reports.
Now you can use any IQueryable iterator to create a report, besides DataSets. Breaking Change: VirtualDataTable and VirtualDataTableState objects had to be modified to allow the best performance when using IQueryable. If you have defined your own WirtualDataTable/State descendants, you will have to make some changes in the code to compile.

New "Virtual Mode" for reading xls and xlsx files on demand.
The new "Virtual Mode" allows you to read huge xls/xlsx files on demand, without loading the full file into memory. If you are importing big files with FlexCel, this new mode can make a big difference. Look at the "Virtual Mode" demo for more information.

Support for reading and writing encrypted xlsx files.
Reading and writing encrypted xlsx files is fully supported, both Excel 2007 (Standard Encryption) and Excel 2010 (Agile Encryption)

Support for protected xlsx files.
Full support for protected xlsx workbooks and sheets, including password protection.

Pivot Table preservation in xlsx files.
Pivot tables are now preserved when saving xlsx files, and they can be used in reports, and copied between sheets or files.

Macro preservation in xlsx files.
Macros are now preserved when when opening xls files and saving as xls or xlsx, or when opening xlsx files and saving as xlsx.

Full support for R1C1 formulas.
Now you can use the R1C1 notation besides A1 when entering or reading formulas. You can change the cell reference mode with the property XlsFile.FormulaReferenceStyle.

Full support for all objects in the Forms palette (radio buttons/group boxes/comboboxes/listboxes/spins/labels/scrollbars/buttons) in the API, rendering, and xlsx.
The new methods allow you to add and modify any object in the forms toolbar. Also now all those objects will be printed/exported to pdf/html/images, and they are fully supported in xlsx too.

Support for buttons/checkboxes/readio buttons/group boxes/comboboxes/listboxes/spins/labels/scrollbars in APIMate.
Now APIMate will show how to add/modify checkboxes and all objects in the forms pallete.

Support for Autoshapes in xlsx.
Now autoshapes in xlsx are preserved, converted between xls and xlsx, and rendered.

Header and footer images support in xlsx files.
Images in headers and footers are now fully supported in xlsx.

Exporting named ranges to html.
A new property "ExportNamedRanges" in FlexCelHTMLExport allows you to export the names in the sheet as span ids that you can use later to modify those cells with javascript. A new event, "NamedRangeExport" allows you to customize how those names are exported.

XlsFile now implements IEnumerable.
You can now loop though the cells in an Excel file with a foreach loop.

New overload of XlsFile.NewFile allows to specify the version of Excel used to create the file.
Now you can specify the version of the blank xls or xlsx files created by FlexCel. Different versions fo Excel have different default fornts, columns widths, etc, and now you can specify exactly which version you are creating. This is specially useful for APIMate, since in older FlexCel versions it would always create a 2003 xls file, and modify it with code to match the newer versions. Now it creates the correct file, and code needed is much less.

Fixed length text exporting now exports merged cells and cells that span to the right.
When exporting Excel files to fixed length text, now merged cells and cells spanning to the right will use the full length available instead of cutting at the cell end.

Deprecated Get/SetCheckboxLinkedCell methods in the API.
While those methods will still work, we have introduced a generic Get/SetObjectLinkedCell method that should be used instead.

Bug fixes and performance optimizations.
Xlsx files now load and save much faster, and performance was improved also for xls files. Pdf files are faster too. A new document in how to get the best performance in FlexCel is also included.

Experimental MonoTouch support.
FlexCel can now be compiled for MonoTouch. With it, you can read, write and recalculate xls files in iPhone apps. Note that this support is basic and not fully tested, even when it looks to be working fine. Xlsx file format and rendering (exporting to pdf/html/printing) are not supported. Search for "MonoTouch.sln" in the distribution.



New on v 5.3.0.0


Support for Recalculation of 49 built in functions new to Excel 2007.
Includes support for: AverageIf, AverageIfs, Bin2Dec, Bin2Hex, Bin2Oct, Convert, CountIfs, CoupDayBs, CoupDays, CoupDaysNc, CoupNcd, CoupNum, CoupPcd, Dec2Bin, Dec2Hex, Dec2Oct, Delta, DollarDe, DollarFr, Duration, EDate, Effect, EoMonth, FactDouble, Gcd, GeStep, Hex2Bin, Hex2Dec, Hex2Oct, IfError, IsEven, IsOdd, Lcm, MDuration, MRound, MultiNomial, NetworkDays, Nominal, Oct2Bin, Oct2Dec, Oct2Hex, Quotient, RandBetween, SeriesSum, SqrtPi, SumIfs, WeekNumn, WorkDay, YearFrac
Some of the functions are new to Excel 2007 (like AverageIf), and others were previously available in Add-ins.
Look at SupportedFunctions.xls in documentation for more details.

Support for Recalculation of 8 built in functions new to Excel 2010.
Includes support for: NETWORKDAYS.INTL, WORKDAY.INTL, AGGREGATE, CEILING.PRECISE, ISO.CEILING, FLOOR.PRECISE, PERCENTILE.EXC, QUARTILE.EXC
Look at SupportedFunctions.xls in documentation for more details.

Support for all Excel 2010's "Renamed Functions".
Now you can enter any of the Excel 2010 renamed functions in FlexCel, and those functions whose previous name was previously recalculated in FlexCel (and have the same paramters) will also recalculate now in FlexCel.
Renamed functions: BETA.DIST, BETA.INV, BINOM.DIST, BINOM.INV, CHISQ.DIST.RT, CHISQ.INV.RT, CHISQ.TEST, CONFIDENCE.NORM, COVARIANCE.P, EXPON.DIST, F.DIST.RT, F.INV.RT, F.TEST, GAMMA.DIST, GAMMA.INV, HYPGEOM.DIST, LOGNORM.DIST, LOGNORM.INV, MODE.SNGL, NEGBINOM.DIST, NORM.DIST, NORM.INV, NORM.S.DIST, NORM.S.INV, PERCENTILE.INC PERCENTRANK.INC, POISSON.DIST, QUARTILE.INC, RANK.EQ, STDEV.P, STDEV.ST.DIST.2T, T.DIST.RT, T.INV.2T, T.TEST, VAR.P, VAR.S, WEIBULL.DIST, Z.TEST
Look at SupportedFunctions.xls in documentation for more details.

New "BALANCED COLUMNS" mode for reports.
Now you can do parallel column reports where all columns stay balanced and cells are automatically added to pad the columns with less records. Look at the new "Balanced Columns" demo for an example in how to use it.

New FIXEDN ranges for reports.
FixedN ranges will behave as "FIXED" ranges for the first n records, and then behave as normal "__" ranges. For example the name "__db__FIXED2" will overwrite the 2 first records in the template, and then insert the rest. Look at the new "Balanced Columns" demo for an example in how to use it.

New ROWS function for reports.
Allows to create datasources in the fly from the template with a defined number of rows. Look at the new "Balanced Columns" demo for an example in how to use it.

New TCopyRangeMode.Formats to copy formats from a block of cells to other.
Now you can call InsertAndCopyRange with TRangeCopyMode.Formats to copy the cell formats from one place to another.

Improved Medium trust support.
Our obfuscation tool was having issues when running in Medium Trust, now it should be fixed. This allows for deployment in shared hosting like godaddy.

Many small fixes and enhancements.
As always, a lot of small fixes and improvements have been done.



New on v 5.2.0.0


Support for .NET 4.0.
Includes support for the new 4.0 security model.

Deprecated support for .NET 1.1.
In order to move faster to the new technologies, we had to deprecate .NET 1.1 support for this version.

Full Comment support in xlsx.
Now comments are fully supported in xlsx besides xls. You can also set extended properties like the comment color direclty from the API.

Full Data Validation support in xlsx.
Now data validation is fully supported in xlsx besides xls.

Full Hyperlink support in xlsx.
Now Hyperlinks are fully supported in xlsx besides xls.

Full Checkbox support in the API, rendering, and xlsx.
The new methods: Get/SetCheckboxState, Get/SetCheckboxLinkedCell and AddCheckbox allow you to add and modify checkboxes states and linked cells. Also now checkboxes will be printed/exported to pdf/html/images, and they are fully supported in xlsx too.

New "DateFormats" parameter supported when opening or importing CSV files, and also when setting cells from string.
This parameter allows you to specify only a subset of supported datetime formats when importing, to ensure .NET won't interpret invalid strings as dates.
For example, calling: xls.Open("test.csv", TFileFormats.Text, ';', 1, 1, null, new string[] { "d/M/yyyy", "hh:mm" }, Encoding.Default, true);
will only import dates in format "d/m/yyyy" or times in format "hh:mm".

New "FirstSheetVisible" property in XlsFile.
This property controls what is the first sheet tab that is shown in the sheet bar at the bottom of Excel.

New "CenteredPreview" property in FlexCelPreview.
When true, previews will render centered in the window, as they do in Excel.

Added support for new functions in recalculation.
Added support for FREQUENCY.

Performance Improvements and bug fixes.
The move away from .NET 1.1 allowed us to switch to generics much more of the code, with up to 10% speed up. Together with other performance improvements, 5.2 can be up to 30% faster in some cases.

Database in all demos migrated from Access to SQL Server compact.
As Microsoft still doesn't support the JET driver in 64 bits, we changed the demos to use SQL Server Compact Edition instead. This way you will be able to test the database demos in pure 64 bits.

Tested against Office 2010 RTM.
Generated files have been tested against the release version of Office 2010.



New on v 5.1.0.0


Excel 2010 XLS file support.
Excel 2010 introduced a new "Protected View" that will flag old FlexCel xls files as "unsafe". This release fixes this so files will open in 2010 without warnings. It is important to update to this version as soon as possible, so when Excel 2010 is released your files will keep on working without warnings.

BASIC IMAGE SUPPORT IN XLSX.
Simple images are now fully supported in xlsx besides xls. They will be converted and preserved when you open an xls file and save as xlsx or viceversa, and also rendered to pdf, etc. Grouped images and autoshapes are still not supported in xlsx, but coming soon.

THEME SUPPORT.
Now the rendering engine will use other themes besides the standard office theme, and you are also able to modify the themes in a sheet.

BETTER INDEXED COLOR SUPPORT.
The new method "OptimizeColorPalette" will modify the Excel 97-2003 color palette in an xls file so it includes the colors used in the sheet. Excel 2007 or newer don't need this as they support RGB colors.

MISC IMPROVEMENTS IN XLSX FILE SUPPORT.
Support for autofilters, selections, printer driver settings, showing gridlines/headers and many small window properties when loading or saving xlsx. Macros are preserved when reading an xls file and saving as xlsx.

IMPROVED MEDIUM-TRUST SUPPORT.
Improved fallback in Exceptions when running in Medium Trust. As before, FlexCel can be compiled with "FULLYMANAGED" conditional define to not only be 100% safe but also 100% managed code. But now even the dlls compiled without "FULLYMANAGED" will work fine in medium trust.

NEW METHODS IN XLSFILE FOR EXPORTING AND IMPORTING FROM TEXT FILES.
The new methods XlsFile.Import and XlsFile.Export provide more flexibility when working with text files than the existing XlsFile.Open/XlsFile.Save methods. Now you can specify a "fixed length" file besides a text delimited file, and you can also import a text file in the middle of an existing file.

NEW COPY MODE ALLOWS TO COPY OBJECTS MARKED AS "DON'T COPY" when copying ranges or sheets.
TRangeCopyMode.AllIncludingDontMoveAndSizeObjects will copy everything when used in InserAndCopyRange. InserAndCopySheets will use this mode now by default.

NEW METHOD GETUSEDNAMEDRANGES IN THE API.
Returns which ranges are being used in formulas inside the sheet and which aren't.

NEW METHOD CELLRANGEDIMENSIONS IN THE API.
Returns the dimensions a range of cells would use when rendered. Can be used when rendeirng to a bitmap to calculate the size of the bitmap what will hold the cells.

TOOLS ARE NOW PRECOMPILED WITH .NET 3.5.
The tools like ApiMate and FlexCelDesigner used to come precompiled with .NET 1.1, so you can use them no matter which .NET version you have in your development machine. But as .NET 1.1 doesn't support xlsx, now they come with 3.5.

BUG FIXES.
Small fixes and improvements.



New on v 5.0.1.0


IMPROVED PERFORMANCE INSERTING ROWS WITH MANY IMAGES.
This will also speed up reports with lots of images too.

NEW FUNCTION SUPPORT FOR RECALCULATION.
PercentRank is implemented now too.

IMPROVED SUPPORT FOR OTHER THIRD PARTY EXCEL GENERATED FILES.
While we support virtually every xls file Excel generates (and we are not aware of any file we can't retrieve if it has been saved with Excel and it is in xls 97 or up), some third party apps create files with wrong information, that rely in bugs (and sometimes even in buffer overflows) in Excel to work. In this release we implemented support for many of those files, including files generated by SAP.

BUG FIXES.
This is primary a maineneance release, and there are many bug fixes and small improvements, mainly in the Excel 2007 support (both xlsx and "Excel 2007 xls") It is recommended that you update from 5.0.



New on v 5.0


EXCEL 2007/2010 SUPPORT.
Included support for new features in Excel 2007/2010:
  • Basic support for reading and writing xlsx file format. Note that due to framework limitations, you need .NET 3.5 for xlsx support.
  • Expanded the rows to 1048576 and the columns to 16384. A compatibility mode still lets you work with the smaller grid should you need to do so.
  • Support for Excel's 2007 true color and themes. Breaking change: ColorIndex properties don't exist anymore and now are just Color. You can still access the color indexes with Color.Index.
  • Support for gradients in cell backgrounds; to get/set them or to export them to pdf/images/print.
  • Support for a different header and footer for the first page and for even pages; to get/set them or to export them to pdf/images/print.
  • Support for comments in named ranges.
  • Cell indentation can go up to 250 characters instead of the old 15.
  • Methods OptionsMultithreadRecalc, OptionsForceFullRecalc, OptionsAutoCompressPictures, OptionsBackup, OptionsCheckCompatibility in XlsFile class allow to configure the corresponding settings in an Excel file.
Please note that xlsx file format support in 5.0 doesn't include objects/charts/images or conditional formats. That will be added along the 5.n series.
Except for the bigger number of rows and columns (which can't be retrofitted to xls), all new properties will be saved even to the old xls files. They won't be available when opening the files in Excel 2003, but they will show in Excel 2007. And they will be used by FlexCel when printing or exporting to pdf/html, etc.


Take a look at the new section "Considerations about Excel 2007 support" in the API Guide for more information about updating to xlsx support.

NEW HTML 3.2 SIMPLE EXPORTING MODE. This new exporting mode won't use CSS or floating images, and most settings will be done through simple tags. While some style tags are still used when there is no other option, they are mostly not used either.
This mode isn't as faithful reproducing Excel files as the existing ones, and it doesn't validate either, but it can be very useful when you need simple HTML more than exact representation of the xls file. It can be used with devices or browsers that don't support CSS, or in places where you can't change the existing CSS definitions (for example if you are adding a table in a blog post, where you can't change the page headers to include other CSS file).

WHAT-IF TABLES.
Now FlexCel can recalculate What-if tables, and you can add or read the What-if tables in a file. APIMate also supports What-if tables now, and will show the syntax to create them.

ADDED RECALCCELL METHOD TO THE API.
This method allows you to calculate only a cell and its dependencies, not the whole workbook. It can be useful if you are using FlexCel as a calculator and making thousands of recalculations where you are only interested in the value of one cell.

ADDED RECALCEXPRESSION METHOD TO THE API.
With this method you can calculate any formula that is not in the file. For example, if you want to know the sum of the cells in column a of a worksheet, you can use xls.RecalcExpression("=sum(A:A)").

SUPPORT FOR ENTERING MULTICELL FORMULAS WITH THE API.
Now you can not only enter array formulas with the API as you could before, but also enter array formulas that span over more than one cell. We only added the ability to add them from the API, FlexCel was already fully aware of multicell array formulas and could recalculate them too. ApiMate will show you the syntax to enter them.

IMPROVED SUPPORT FOR DATE AXIS IN CHARTS.
Now date axis in charts behave exactly the same way they do in Excel.

IMPROVED SUPPORT FOR NUMERIC FORMATS.
Now "*", "_" and "?" characters in format strings are fully supported when rendering files, and will show exactly as they do in Excel.

IMPROVED RENDERING.
Support for diagonal borders. A new "Linespace" property in XlsFile object allows you to fine tune the linespace between 2 lines in multiline cells.

IMPROVED COLOR MATCHING ALGORITHM FOR CONVERTING TO INDEXED COLORS.
Now NearestColorIndex will use the euclidean distance in L*a*b* color space instead or RGB, for improved color matching.

NEW SAVEFORHASHING METHOD.
This method will save the file in a file format that will remain the same if the file didn't change, ignoring the timestamps present in the xls file format. So you can hash this value and use the hash to compare it to a new file, and know if something changed. Cell selections and sheet selections are not saved by default, but they can be included.

ADDED ABILITY TO READ AND WRITE "SHARED WORKBOOK" PROTECTION OPTIONS.
Now you can change the shared workbook protections options in any file, xls or xlsx.

IMPROVED PERFORMANCE.
FlexCel 5 has been a big rewrite that allowed use to tweak many places for even better performance.



New on v 4.9.6.2


IMPROVED AUTOFIT OF MERGED CELLS.
Now when autofitting rows and a merged cell has more than one row, you can select which one of the rows from the merged cell will be updated. Same for autofitting columns and merged cells with more than one column. This applies to both reports and API. See "Autofitting Merged Cells" section in the API Guid for more information.

SYNTAX HIGHLIGHT WHEN DEBUGGING REPORTS.
Now when in debug mode, strings will be maroon, booleans blue and errors red.



New on v 4.9.6.0


DELPHI PRISM SUPPORT.
All demos have been converted to Delphi Prism, installation now installs into Delphi prism, and APIMate can generate Delphi Prism code.

ABILITY TO MODIFY CHART SERIES FROM THE API.
Now you can directly modify chart series from the API.

FULL SUPPORT FOR WORKING WITH NAMED STYLES FROM THE API.
Now you can create, modify or remove named styles in the Excel file. Also apply styles or find our which styles are applied to a cell.

TTC FONT SUPPORT WHEN EXPORTING TO PDF.
Now TTC (True Type Collection) fonts are fully supported when exporting to PDF. This includes subsetting.

NEW SETEXPRESSION METHOD IN FLEXCEL REPORT.
Now you can use the SetExpression method in FlexCelReport to dinamically add formulas to a report. For example, you might have an edit box where the user enters an expression like "<#evaluate(<#Order.Amount> * <#Order.Vat>)>", and this expression will be used in the final report. With this method you can reuse the same template to evaluate different formulas.

IMPROVED HTML RENDERING.
Fixed small browser incompatibilites. Chart sheets now are exported too. Now FlexCelViewer renders by default in XHTML 1.1, to be compatible with the designer.

IMPROVED SPEED RENDERING CONDITIONAL FORMATS.
Applies if you have thousands of conditional formats defined in a sheet, speed of rendering will be much faster.

IMPROVED SPEED IN FORMULA RECALCULATION.
Now formula recalc is faster if you are using full sheet ranges (like A:IV).

SMALL BUG FIXES.
Autofilters now are updated when inserting or deleting columns.



New on v 4.9.5.0


FONT SUBSTITUTION IN PDF.
A new Property "FallbackFonts" in FlexCelPdfExport allows you to specify a list of "Fallback" fonts that FlexCel will use when the character to print is not in the main font. See "Dealing with missing fonts and glyphs" in UsingFlexCelPdfExport.pdf for more information.

NEW DBVALUE TAG FOR REPORTS.
Allows you to know the value of any record of a data table, for example to merge similar cells. See the new "Merging Similar Cells" demo.

IMPROVED NAMED RANGE SUPPORT.
New methods DeleteNamedRange and ConvertExternalNamesToRefErrors will let you delete a range or convert all ranges with external references in a file to #REF! errors.

NEW TRYTOCONVERTSTRINGS PROPERTY IN FLEXCELREPORT.
When your data is stored as strings in your database, this property will make FlexCel enter the correct datatype for the contents into the cells.



New on v 4.9.2.0


NEW LIST TAG FOR REPORTS.
The <#List()> tag allows to agregate a dataset into a list that can be dropped into a single cell, or also to use other tags without being inside a named range.

NEW SEMIABSOLUTEREFERENCES properties in the API and in Reports.
Now you can control how to change absolute references in formulas referring to cells inside the block being copied. For example in Excel, if you have Cell A1: 1, Cell B1: =$A$1, and copy the row down, the new row will be Cell A2: 1, Cell B2: =$A$1. If you set this new property to true, Cell B2 will be =$A$2, since A2 is inside the block being copied. You can use this on the API when copying blocks with absolute references you would like to change, or in multi master detail reports, to ensure absolute references point to the right place.

SHEET TAB COLOR SUPPORT.
Now you can read or set the color of a sheet tab using the new SheetTabColorIndex property in XlsFile. (This feature is supported in Excel XP or newer)

SHEET TAB COLOR EXPORTED TO HTML.
Now by default if a sheet has a tab color, it will be shown in the resulting HTML file. You can change this by setting the new "UseSheetTabColors" property in the StandardSheetSelector class to false.

BUG FIXES.
Fixed an error when subsetting complex true type fonts when exporting to pdf. Fixed an error when entering bmp image in compact framework.



New on v 4.9.1.0


SUPPORT FOR EMBEDDING FONT SUBSETS IN PDF.
Now FlexCel can embed only the subset of characters being used from a font into a PDF file, allowing smaller PDF files when embedding unicode fonts. NOTE: This is a BREAKING change, since font subsetting is enabled now by default. If you want to keep the old behavior (for example to have editable PDF files) you need to set FontSubset property to DontSubset in the PDF export components.

GLOBAL ERROR HANDLER FOR NON-FATAL ERRORS.
There is a new FlexCelTrace global class where you can hook a listener to get notified of all non-fatal errors while working with FlexCel. You can use it for example to know when a font is not installed in the system and is being replaced by other in a pdf file, or when a character is not present in a font and so it will show as a blank square. See the new "Error Handling" demo and the PDF documentation in the PDF export guide.

ADDED TOP(N) FILTER FOR REPORTS.
With this new filter you can get the top n items from a table directly from the template without touching the code. See the modified "Fixed Forms With Datasets" demo.

IMPROVED HTML RENDERING.
Improved how exported HTML files are generated.

IMPROVED PDF EXPORT.
Added a new event allowing to control whether to embed or not and individual font. See the modified "Export PDF" demo.

BUG FIXES.
Fixed bug with some functions when recalculating linked files. Fixed overflow exception when creating charts with very large values.



New on v 4.9.0.0


RECALCULATION OF LINKED FILES.
Now FlexCel can recalculate across linked files, even files with circular links. See the new section about Workspaces in the PDF API Guide.

AGGREGATE SUPPORT IN REPORTS.
The new tag "Aggregate" allows to sum, average or find the minimum or maximum value in a dataset from the template. You can use it when you can't modify the data layer. See the new "Aggregates" demo.

SUPPORT FOR HTML TAGS WHEN REPLACING TEXT IN AUTOSHAPES.
Now you can use html inside autoshapes as you could use inside normal cells.

IMPROVED RENDERING.
Fixed small issues when rendering Excel spreadsheets.



New on v 4.8.0.1


IMPROVED RECALCULATION.
Fixed a bug that might cause a file not to be recalculated in the second time you call recalc with complex files. Small performance improvements.

IMPROVED FORMAT DISPLAY.
Added support for [mm], [hh] and [ss] format specifiers for elapsed time.

IMPROVED MONO COMPATIBILITY.
Changed internal compression routines in pdf so they work under mono.



New on v 4.8.0.0


PDF SIGNING.
Now you can digitally sign the generated pdfs, with both a visible or non visible signature.

NEW APIMATE TOOL.
This new tool can convert an Excel file to code, so you can see how to call the FlexCel APIs. Code can be generated in C#, VB.NET or Delphi.NET.
A flash demo showing how to use it is available at http://www.tmssoftware.com/flexcel/tutorial.htm

IMPROVED HTML GENERATION.
Includes the ability to export headers and footers as blocks above and below the spreadsheet, and fixes to workaround internet explorer bugs. Exporting headers and footers to HTML is off by default, but you can turn it on. (Look at the Export to HTML demo)

BUG FIXES.
Small fix with formulas in Data Validation, and support for [>n] tags in numeric formatting expressions.



New on v 4.7.0.1


FLEXCEL DESIGNER BUG FIX.
FlexCel designer could raise an Exception when started.



New on v 4.7.0.0


INTELLIGENT PAGE BREAKS.
Even when there is no direct support for widow/orphan lines in Excel, FlexCel now provides a way to keep rows and columns together avoiding page breaks in the middle of important data.
You tell FlexCel which rows you want to keep together, and it will automatiaclly add page breaks at the needed points in the file so it prints as you want to. This new feature can be used both from the API or from the reports. For more information, look at the "Intelligent Page Breaks" demos in the Report and API sections.

BETTER ERROR HANDLING OF PAGE BREAK ERRORS.
In previous FlexCel versions you could choose whether to raise an Exception or silently ignore errors when trying to insert more than the maximum allowed number of manual page breaks (1026). In this version you can insert as many Page Breaks as you want, and the error or silent ignore will be done at save time. This allows to have more than 1026 manual page breaks when exporting to PDF without saving as xls.

<#DEFINED FORMAT> TAG FOR REPORTS.
Allows to know if a user defined format is defined or not. Look at the Intelligent Page Breaks demo in the report section.

NEW <#IMGPOS> AND <#IMGFIT> <#IMGDELETE> TAGS FOR REPORTS.
You can use ImgPos to center or align an image dynamically inside a cell. ImgFit will resize the rows and columns below the image so the image is fit in one cell, and ImgDelete will delete an image. Take a look at the modified Images demo or at the new Features Page demo.

IMPROVED AUTOFIT IN API AND <#AUTOFIT> TAG FOR REPORTS.
Now you can Autofit rows and columns setting a maximum and a minimum height/width for the autofit.

IMPROVED <#IMGSIZE> TAG FOR REPORTS.
Now the ImageSize tag can do a "Best Fit" resize. You define the maximum size of the image in the template, and ImageSize will resize the image so it is as big as possible keeping the aspect ratio and inside the bounds you select. Look at the modified Images demo.

IMPROVED <#FORMAT RANGE>, <#DELETE RANGE> AND <#MERGE RANGE> TAGS FOR REPORTS.
Now you can use named ranges instead of strings like "a1:a2" to define the ranges to format, merge or delete. It is recommended that you use this new way, so the ranges will adapt when you insert rows in your template. (A tag <#FORMAT RANGE(a1:a3;blue)> will not change to A2:A4 if you insert a new row at A1. A tag using a named range will.)

NEW IMAGEBACKGROUND PROPERTY WHEN EXPORTING TO HTML.
Allows you to define a background color like white for images in html files, so they are not transparent and they show fine in Internet Explorer 6 without needing to use the FixIE6TransparentPngSupport to true or using gif images instead of png.

BUG FIXES
Small bug fix for border cases when inserting columns. AND function now can AND over a range of cells. Report Expressions now can use named ranges.



New on v 4.6.0.0


SUPPORT FOR VISUAL STUDIO 2008 AND .NET 3.5 FRAMEWORK.
Also updated Setup with the option for installing into VS2008.

NATIVE DEMOS FOR VISUAL BASIC.NET.
All more than 50 demos have been converted to Visual Basic .NET, allowing for easier study for vb users.

SUPPORT FOR CUSTOM EXCEL FORMULA FUNCTIONS.
Now you can define your own classes that implement Excel custom formula functions (like for example the ones in the Analisis Toolpack Addin, or any function you define using a macro). You can read formulas using those functions from Excel, write them or calculate them. See the "Custom Excel Formula Functions" demo for more information.

SUPPORT FOR AUTOFILTERS IN API.
Now you can read or write autofilters in a sheet using the API.

IMPROVED COPYING FROM ONE FILE TO ANOTHER.
Now when copying between files Charts will be copied too, and all external references will be converted to the new file. Also Autofilters will be copied when there are no autofilters in the destination sheet.

IMPROVED GENERIC REPORTS.
Now you can write expressions in a cell with a <#DataSet.*> tag, leading to much more powerful generic reports. Also now if the cell with the <#DataSet.**> tag has an autofilter, the autofilter will be propagated to the following columns. See the improved Generic Reports demo for more information.

MORE CUSTOMIZATION IN THE <#INCLUDE> TAG.
Now you can include files in your reports without running a report on the include, and also specify if you want to copy the column widths and row heights from the included report into the parent. See the documentation in the Include tag.

Small bug fixes and optimizations.



New on v 4.5.1.0


DEBUG MODE IN FLEXCELREPORT:
A new property in FlexCelReport, DebugExpressions, allows to output the full stack trace of the report tags to the cells where they are, instead of the tag value. Other property, ErrorsInResultFile allows to log the error messages to the generated file instead of raising exceptions. See the new Debugging Reports demo and the Debugging Reports section in the pdf user guide for more information.

DATA VALIDATION SUPPORT:
Added methods to add, delete, change or get information about the Data Validation of a cell.

IMPROVED OUTLINE SUPPORT:
Added methods to collapse or expand the outlines in a sheet to a specified level, to collapse and expand individual nodes, or to find out if a row or column is an outline node (contains a "+" sign).

IMPROVED XLS COMPATIBILITY WITH EXCEL 2007:
Some really complex image manipulations could cause Excel 2007 to fail to load the generated xls files. It has been fixed now.

IMPROVED COMPATIBILITY WITH MONO:
Tested with .NET 2.0 implementation of Mono and workarounded MONO issues.

NEW OBJECT EXPLORER AND ADVANCED API DEMOS:
The first shows how objects in a sheet are nested, and the second shows how to use different methods in the API.



New on v 4.5.0.0


HTML EXPORTING ENGINE:
A new component TFlexCelHtmlExport can export Excel files to html, in HTML 4.01 strict or XTHML 1.1 and fully standards compliant, with the quality you have come to expect from us. Most things, like images, charts, merged cells, conditional formats, wordart, etc. are exported. Multiple sheets can be exported in tabs or as a single file. Support for ie 6/7, Firefox, Opera and Safari.

FLEXCELASPVIEWER:
Allows viewing Excel files as html directly from any ASP.NET application. Just drop the component in a WebForm, and assign it to an xls file. (only ASP.NET 2.0 supported)

META TEMPLATES:
The new <#PREPROCESS> tag allows a template to modify itself before creating a report. You can now for example create reports that will automatically delete a column from the report template if the dataset does not have the field. See the “Meta Templates” demo for more information.

PARTIAL FORMAT DEFINITIONS IN REPORTS:
Now you can define formats in the config sheet that will apply only a part of the cell format. For example, if you name a format “Header(background)” it will only apply the background of the cell and not all the other properties. See EndUserGuide.pdf for more information, and the Multiple Sheet Report demo for an example.

API IMPROVEMENTS:
New method XlsFile.RenderObject allows exporting any image/chart/autoshape into an image. New method XlsFile.RenderCells allows exporting a range of cells (without objects) into an image. You can still export full spreadsheets to images with FlexCelImgExport, but these methods provide lower level access.

FULL TEXT SEARCH IN DEMOS:
Now you can easily find the demo that shows a feature you are interested in by typing in the Search box in MainDemo.

BUG FIXES AND SPEED IMPROVEMENTS:
Small fixes in rendering and overall speed enhancements.



New on v 4.0.0.3


BUG FIXES:
Locales like Turkish where “I” (uppercase) is not the same as “i” (lowercase) had problems. When printing/exporting to pdf more than one sheet, sometimes the “print to fit” size for the second sheet could be calculated wrong. Rotated transparent shapes exported to pdf could be exported wrong.


New on v 4.0.0.2


IMPROVED CSV IMPORT/EXPORT:
Now supporting Locales.

BUG FIXES:
Error in border cases when adapting formulas after inserting rows in different sheets.


New on v 4.0:



CHART RENDERING:
Now most 2d charts are printed and exported as images or pdf. 3d charts are exported as their 2d equivalents. Bubble, Surface and Radar charts are not exported.

NEW HTML CAPABILITIES:
Now you can directly enter HTML formatted strings into an Excel cell, using TRichString.FromHtml(). Also you can convert the rich text in an Excel cell into an HTML string. A new property "HtmlMode" on FlexCelReport allows you to do reports from HTML data. Also the new <#HTML> tag allows to select which cells you want to use html and which ones you don't no matter the "HtmlMode" value. See the "HTML Reports" demo for more information.

SUPPORT FOR WRITING PXL 2.0(POCKET EXCEL) FILES
: Now you can not only read but also create native Pxl 2.0 files.

READING DOCUMENT PROPERTIES:
Now you can read the Author, Title, etc. of any xls document.

IMPROVED FLEXCELIMAGEEXPORT:
The new method "SaveAsImage" allows creating multipage tiffs, fax, png, gif and jpg images of any xls file with just a method call. See the "PRINT PREVIEW AND EXPORT" demo for more details.

IMPROVED PRINTING AND EXPORTING:
New properties AllVisibleSheets and ResetPageNumberOnEachSheet on FlexCelImgExport and FlexCelPrintDocument, allow printing all sheets on a workbook, keeping the "page n /m" headers or footers correlative. A method on FlexCelPdfExport allows the same thing. See the exporting demos.

AUTOFITTING SUPPORT:
Now you can autofit rows or columns with XlsFile.AutoFitRow, XlsFile.AutoFitCol and XlsFile.AutoFitWorkbook methods. On reports, the new tags <#Row Height> and <#Column Width> allow to change the row height / column width in a report, and to hide, show or autofit columns and rows. See the new Autofitting demo on the reports section.

VIRTUAL DATASETS:
Now you can use any data you like as source for your reports, not only Datasets. See the new Virtual DataSets demo.

SUPPORT FOR MANUAL FORMULAS IN REPORTS:
New report tags <#Formula> and <#Ref> allow replacing tags inside formulas, creating customizable formulas depending on the report data. (See the new "Manual Formulas" demo).

NEW ENTERFORMULAS PROPERTY ON FLEXCELREPORT:
Allows to enter any text starting with "=" as a formula instead of text.

FIXED BANDS ON REPORTS:
Now, by defining "__band__FIXED" ranges you can have bands that don't insert cells when moving down. See Fixed Forms With Datasets demo.

IMPROVED TAG REPLACE:
Report Tags are replaced now also on WordArt objects and Screen tips inside Hyperlinks.

SPLIT TAG ON REPORTS:
Allows splitting a datatable every n rows. See Split demo for more information.

USER TABLE TAG ON REPORTS:
Allows defining the datasets you want to use directly on the template. See User Tables demo for more information.

ADDED RECALCULATION FOR FUNCTIONS:
DCount, DSum, DAverage, DMin, DMax, DProduct, DCountA, DGet, DVar, DVarP, DStDev, DStDevP, Large, Small, MinA, MaxA, Var, VarP, VarA, VarPA, WeekDay, Product, SumSq, CountBlank, Roman, AverageA, Days360, FV, PV, NPV, DB, DDB, Syd, Sln, PMT, IMPT, PPMT, NPer, NormDist, NormsDist, LogNormDist, NormInv, NormsInv, LogInv, ExponDist, Poisson, Binomdist, NegBinomDist, HypGeomDist, Standardize, GeoMean, HarMean, Rank, GammaDist, GammaInv, GammaLn, ChiDist, ChiInv, IRR, MIRR, Rate, Areas, Rows, Columns, SumX2mY2, SumX2pY2, SumXmY2, Transpose, MMult, ZTest, ChiTest, Weibull, Kurt, Skew, AveDev, DevSQ, Steyx, Rsq, Pearson, Slope, Fisher, FisherInv, Median, Quartile, Percentile, Mode, Intercept. 210 functions supported (see the new SupportedFunctions.xls spreadsheet).

IMPROVED ARRAY FORMULA SUPPORT:
Now you can enter array formulas with the API (for example "{=Average(if(a1:a3=3;1))}" ). And now FlexCel can calculate array formulas too, including array formulas that cover more than one cell.

ADDED BOOKMARKS TO PDF:
Now you can automatically add a bookmark on each sheet when exporting to pdf, or manually modify the bookmarks too. See the "Custom Preview" demo, on the button to export to pdf when "All Sheets" is selected.

IMPROVED RENDERING:
Added support to print and Export to PDF more than 70 Autoshapes: From block arrows to FlowCharts to basic shapes. See the new file SupportedAutoshapes.xls for more information.

IMPROVED RENDERING:
Now FlexCel can print and export to pdf basic WordArt text. Not all effects or types of WordArt are supported, but text is shown.

IMPROVED RENDERING:
Improved shadow support for autoshapes, and also gradient, texture, pattern and image fills supported.

ADDED MOVERANGE TO THE API:
Allows moving a range of cells in a sheet the same way Excel moves them, adapting all formula references as needed. The same as the existing InsertAndCopyRange and DeleteRange methods, this method is fully optimized to perform thousands of moves by second.

ADDED Find, Replace and Sort METHODS TO THE API:
While you could always do this by code, now it is easier to search inside, replace or sort a range.

ADDED XlsFile.Protection.WriteAccess PROPERTY:
Lets you know which user has a file opened in Excel. See the modified Getting started demo.

NEW READING FILES DEMO:
Showing how to import an Excel file into a DataSet /Datagrid.

IMPROVED MONO PDF SUPPORT:
Now FlexCel will try to automatically find the fonts when running on Linux. Also added a section on UsingFlexCelPdfExport.pdf explaining how to create pdf files from MONO.

1904 DATES SUPPORT:
Full support for 1904 based dates, allowing interoperability with xls files created on Apple computers.

PRECISION AS DISPLAYED SUPPORT:
Now recalculation in files where "Precision as Displayed" is true will honor that setting.

IMPROVED PERFORMANCE:
on Reporting, rendering and the API.

OPTIMIZED PDF FILE SIZE:
Now Pdfs are smaller.

IMPROVED HELP FILES:
Help files are now created with SandCastle, and can be integrated inside the VS IDE.

BUG FIXES:
Small bug fixes.



New on v 3.7:



SUPPORT FOR READING PXL (POCKET EXCEL) FILES:
Now you can read both Pxl 1.0 and 2.0 files.

COMPACT FRAMEWORK 2.0 SUPPORT:
A new project FlexCelCF20 is included for CF 2.0. A new project for .NET 20 (FLEXCEL20.csproj) is included too.

DELPHI 2006 (.NET)
Support and demos.

SUPORT FOR RENDERING MOST USED AUTOSHAPES:
Now rectangles, textboxes, ellipses, lines, triangles, arrows will be printed/previewed/exported to pdf. Support for semi-transparent fills, rich text inside, shadows, etc.

NEW FUNCTIONS SUPPORTED FOR RECALCULATION:
Cell, Lookup, Address, Fact, Combin, Permut, SinH, CosH, TanH, ASinH, ACosH, ATanH, Fixed, Dollar, Code, T, N, Hyperlink, StDev, StDevP, StDevA, StDevPA, Correl, Covar

NEW CALCULATED COLUMNS ADDED TO REPORTS:
Now you can use <#DataSet.#RowPos> and <#DataSet.#RowCount> inside reports to access the actual position and record count of a band.

IMPROVEMENTS ON PDF API:
Now you can write transparent text with the API, for example to superimpose a watermark to a FlexCel generated file. (See PDF Export demo)

IMPROVEMENTS ON RENDERING:
Watermark images on headers/footers now print right.

IMPROVEMENTS ON FORMULA PARSING:
There were some issues when entering complex formulas with the API, the formulas will be entered correctly but Excel would not calculate them.

NEW UTILITY API FUNCTIONS:
Added 2 overload to SetCellFormat allowing to set the format to a range of cells and change only one attribute on a range of cells (for example change only the line style, keeping the existing fonts)

NEW FEATURED DEMO:
FlexCel Image Explorer allows you to see and extract the images you have inside an Excel file.




New on v 3.6



DIRECT SQL ON REPORTS:
Now you can write sql against a connection on the server directly from the template. Note that for security reasons, if you don't add any connection to the report, no SQL can be executed. See "Direct SQL" demo for details.

RELATIONSHIPS ON THE TEMPLATE:
Now you can add data relationships directly on the template, allowing for example to "split" a dataset into master/detail and relate the 2 new datasets. See "Master Detail on one Table" demo for more information.

DISTINCT FILTER:
Now you can use a "DISTINCT() filter to filter unique values on a dataset. See "Master Detail on one Table" demo for more information.

MERGE RANGE TAG:
With it you can conditionally merge cells on a band. See "Master Detail on one Table" demo for more information.

LOTS OF SMALL IMPROVEMENTS ON THE RENDERING ENGINE: Now
Conditional formats are printed and exported to pdf, cell patterns are exported to pdf and print better, Printer hard margins are considered, Subscripts/Superscript show on text, grouped and arbitrary angle rotated images are shown, etc.

PARAMETERS ON REPORT EXPRESSIONS:
Now you can use parameters when defining report expressions. For more information, see Expression Parameters demo.

IMPROVED CF SUPPORT:
Better support for CF packages (Registered version only)

NEW FEATURED DEMOS:
Showing how to access a web service from FlexCel or how to export an AdvWebGrid. Modified the Print/Preview demo to show how to export Multipage tiff files.

NEW DEMO ON HOW TO DIRECTLY OPEN THE GENERATED FILES:
The "Getting Started" and "Getting Started Reports" demos have been modified to show how to directly open the generated files without asking the user to save the file. (note that for this to work, the user must have excel on his machine).

FLEXCEL API:
New methods FreezePanes and GetFrozenPanes to freeze/unfreeze or get information about fozen panes. New methods SplitWindow / GetSplitWindow to split a sheet.

PERFORMANCE IMPROVEMENTS:
Almost 30% faster on some tests.

IMPROVED FRAMEWORK 2.0 SUPPORT:
Now when FRAMEWORK20 symbol is defined the new compression classes on System.IO.Compression will be used.

BUG FIX:
A call to StringFormat.SetMeasurableRanges could cause a deadlock when running hundreds of threads at the same time.

Many small bug fixes and improvements.




New on v 3.5:

NATIVE PDF EXPORT:
Now you can export your reports to pdf, all on 100% native and managed code, without needing to have Excel or Adobe Acrobat installed.

OPTIMIZED PRINTING ENGINE:
Much faster and with lots of new features. (like repeating rows/columns, brightness/contrast adjustments on images, printing column and row headers, printing different types of borders and much more)

IMPROVED RECALCULATION:
More than 100 functions supported, and now much more like Excel. New methods include: Find, Proper, Concatenate, Exact, Rept, Clean, Search, Substitute, Text, Index, Match, RoundUp, RoundDown, Even, Odd, Subtotal, CountA, Value, Sumproduct. Also now supported intersect and union of ranges while recalculating, and arrays as parameters of formulas.

BASIC AUTOSHAPES SUPORT:
Now you can retrieve all their values and change their text. FlexCelReport will replace text inside Autoshapes also.

SUPPORT FOR READING/WRITING HEADER AND FOOTER IMAGES:
Now you can access images on headers and footers, and they will be printed and exported to pdf too. Note that images on headers and footers are only supported on Excel XP and newer, older Excel versions will open the file but will not display the graphics.

NEW COMPONENT TO PREVIEW WITH THUMBNAILS AND WITHOUT PRINTERS INSTALLED. NEW COMPONENT TO EXPORT TO IMAGES:
See Custom preview demo for more information on both.

CELL SELECTIONS:
Now you can read and write cell selections on a file. A new property on FlexCelReport, "ResetCellSelections", allows you to reset all selections on all sheets to "A1", so you do not need to worry about selection positions when saving the template.

SET NAMED RANGES:
Now you can add or modify named ranges, including ones as the print area.

OPTIMIZED FOR .NET 2.0:
If you define the "FRAMEWORK20" conditional define, a lot of 2.0 ONLY features (like Generics) will be used in places where they can improve performance.

REGULAR EXPRESSIONS ON REPORTS:
You can use the new <#REGEX()> tag to perform regular expression replaces on the reports. See "Regular Expressions" demo for more information.

COMPACT FRAMEWORK ASSEMBLIES:
While you can still use the same dll for both compact and full framework (as before) now we include a special FlexCelCF solution that will create an assembly specifically targeted to CF.

CODENAMES:
Now you can read the codenames of the sheets. This is useful because codenames never change, while sheet names can be changed by the user.

NEW METHODS:
ConvertFormulasToValues allows you to quickly remove formulas form a sheet. RecalcAndVerify() allows to verify you are using supported functions on your template. (See Verify Recalc demo)

HYPERLINK SUPPORT ENHANCED:
Now empty hyperlinks on report will not show, and also the syntax for tags is changed to "*.tag.* for Excel2003 compatibility. (old <.tags> still work, but it is recommended to use the new syntax for new development)



New on v 3.1.0.1:

FORMULA RECALCULATION:
Now most used formulas are recalculated before saving the files. (If the new RecalcMode property is not manual). So you can see formula results on any Excel viewer, such as Microsoft Excel viewer or FlexCelPrintDocument.

FOUR RECALCULATION MODES:
Recalculation can be manual (similar to v3.0), Forced (always recalculate berofe saving), Smart (Recalculate before saving only if file has been modified) or OnEveryChange (recalculate after changing any cell). Also an new RecalcForced property allows you to specify Excel not to recalculate on open.

PROTECTION AND ENCRYPTION:
There is a new property "Protection" on XlsFile that allows to both read and write protected and encrypted xls files. See Protect demo for more details.

ENHANCED DELPHI.NET SUPPORT:
Added a new demo with Delphi.Net, and now all BDP datatypes are supported.

NEW FUNCTIONS FOR REPORTING:
Now you can use Sum, Average, Round, Abs, Ceiling, Floor, Exp, Int, Ln, Log, Log10, Pi, Power, Rand, Sign, Sqrt, Trunc, Count, Radians, Degrees, Sin, Cos, Tan, ASin, ACos, ATan, ATan2, SumIf, CountIf, Date, DateValue, Day, Month, Year, Time, TimeValue, Hour, Minute, Second, Now, Today, Error.Type, IsBlank, IsErr, IsError, IsLogical, IsNA, IsNonText, IsNumber, IsREF, IsText, Type, Na, Choose, Offset, HLookup and VLookup when creating expressions for a report. All of those functions will be evaluated when recalculating formulas too.For a complete list of supported functions, see EndUserGuide.pdf, "Evaluating Expressions"

SMALL PERFORMANCE IMPROVEMENTS:
FlexCel 3.1 is even faster than 3.0. Not much, because 3.0 was quite fast, but a little faster.