Hi,
There are 2 versions of FlexCel:
The .net version is fully coded in C#, the second in Delphi. Full C#/Delphi code is included depending on the version.
For the questions:
1)FlexCel for VCL/Firemonkey doesn't require any dll. FlexCel for .NET is an assembly, which is a dll, but it doesn't require any third party dll either. Both are fully self contained.
2)FlexCel .NET requires .net of course. FlexCel for vcl doesn't; it is 100% native delphi code.
3)Yes, please take a look at the "Getting started" demo in the API section.
In delphi, you would do:
var
xls: TXlsFile;
begin
xls := TXlsFile.Create(1, true);
try
xls.SetCellValue(1,1, TFormula.Create('=SUMPRODUCT(A1:B5, B1:B5)'));
xls.Save('test.xlsx');
finally
xls.Free;
end;
3)FlexCel for .NET fully supports encrypted and protected files, in xls and xlsx.
FlexCel for VCL doesn't support encrypted files yet (we need to finish the sha1 and ohter crypto functions that don't come with delphi standard for it to work), but it will be coming as soon as those crypto functions are implemented.
But it does support protected files both xls and xlsx. For example:
xls := TXlsFile.Create(1, true);
try
xls.Protection.SetSheetProtection('pass', TSheetProtectionOptions.Create(true));
xls.Save('text.xlsx');
finally
xls.Free;
end;
Will protect a sheet with a password 'pass'. As long as the protection doesn't need crypto functions it will work. Some protection functions (mostly encrypted files) need those extra functions, and you will get an error of "Encryption factory not assigned" if you try to do those.
Note: We also ship a tool, "APIMate" (start menu->tms flexcel->tools->Apimate) which you can use to open any Excel file, and it will tell you the code you need to create the file in FlexCel. You can use this for example to find out how to enter a formula or protect a sheet. Protect the sheet in Excel, open the file in APIMate, and it will tell you the code you need to do the same from FlexCel.
5)Yes, FlexCel reads the values stored, and if you don't change any cell and don't manually recalculate, it will save them too. Whenever you recalculate the stored values are of course lost and replaced by the calculated values.
And for the record, we do support percentile :) You will find it very difficult to find a function that it not supported (you can read a list of supported formulas in Start menu->TMS FlexCel->Documentation->Supported formulas), but we alwasy prefer to display the values Excel itself calculated if possible. There might be rounding errors that might lead to a different result, so we give Excel results priority. It might also happen that the file has linked files, and while FlexCel recalculates linked files, you might not have those linked files so FlexCel can recalculate them. So we will always give you first the results Excel calculated, until you recalculate yourself.
Regards,
Adrian.
Adrian Gallero2012-09-10 10:16:25