General FlexCell Questions

Hi,


I'm looking to replace NativeExcel for Nika-Soft which seems to be a dead project.  I'm considering FlexCell.  I have some questions.

1. I see mention of dlls - does FlexCell require a DLL to be distributed with the application?

2. Is FlexCell .NET, in which case does it require the .NET framework to be installed on the end-user's machine?

3. Can FlexCell create cells with formulas e.g. '=SUMPRODUCT(A1:A5, B1:B5)

4. Can FlexCell Protect a sheet so the user cannot edit certain cells etc

5. When reading an Excel file, does FlexCell use the stored values for formula cells even though FlexCell doesn't know how to calculate the Forumula e.g. suppose a formula cell uses the Percentile formula, and assume FlexCell doesn't know how to calculate the Percentile function - does FlexCell still return the value stored in the file?

Many thanks,

Steve

Hi,

There are 2 versions of FlexCel:
FlexCel .NET: http://www.tmssoftware.com/site/flexcelnet.asp
FlexCel for VCL/FireMonkey: http://www.tmssoftware.com/site/flexcel.asp

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

AWESOME!!!!


Will purchase now!

Thanks for the help