Unsupported function problem - Excel spreadsheet

Hello,

We're having a problem processing a spreadsheet using our application. Whilst we can succesfully process several other spreadsheets we get an error on this one that say's....

'Unsupported function in calculation engine - code 59'

@ objWorkBook.CalculateFormula

We assume this means that the spreadsheet we are using has a formula that is unsupported by ASPOSE! It's a very large spreadsheet and I've run a macro that shows all the functions and formula's used throughout the spreadsheet but I can't see one that is not on your list of supported formulas. Could something else stop the spreadsheet from functioning other than a formula/function? Do you have a list of functions that you DON'T support that we could look at in case we've missed something? I would appreciate your help.

Many Thanks,

Lee

Hi,

Could you post your template file here, we will check it soon.

And here is the list of all the supported functions, so you may check them. If a function is not there in the list, you may assume that the function / formula is yet to be supported. You should also confirm with us too and we will check and try to support it soon for your need:

http://www.aspose.com/documentation/file-format-components/aspose.cells-for-.net-and-java/supported-formulas-functions.html

Thank you.

Amjad,

It’s a very large excel file so I’ve saved the functions/formula report as an web page and posted it onto a server for you to look at. It’s like looking for a needle in a haystack but maybe you can find something obvious quite quickly.

http://www.g3m.info/ASPOSE/Formulasl.htm

Many Thanks,

Lee

Hi Lee,

Which version do you use?

Please try the attached version. We have supported the PMT function now.

Hi Simon,

Not sure which version it is but I purchased it in July this year. There's an SKU of 1000352 but I'm not sure what that means.

I tried putting the version of Aspose.cells.dll that you attached into C:\Program Files\Aspose\Aspose.Cells\Bin\Net2.0 and Net1.0 but when I run the application I get a license error. Am I installing it wrong?

There is a PMT function in our spreadsheet which Aspose now supports as you suggest. There's also an IPMT function in there which is not on the Aspose supported function list. I'll keep looking through the spreadsheet to see if I can find any more unsupported functions and let you know.

Thanks,

Lee

Hi Lee,

We have supported IPMT function in the attached fix. We will update the supported function list.

Please check which dll your project refered. If you are sure that you are using the attached version and still get the license error, please mail your lic to nanjing@aspose.com. We will check it soon.

Hi Simon,

I did put the latest dll that you recomended into the bin folders and I hope that's the right place.

I still get the license error so I've sent off a copy to nanjing@aspose.com as you suggested.

I've been through our spreadsheet and found these functions not currently on your supported function list for .NET... they are PMT, IPMT and ISERROR. From what you're telling me the latest version supports both PMT and IPMT and you're going to update your list. That just leaves ISERROR.

The ISERROR function only occurs in seven places in the spreadsheet so if I can find an alternative to the way it's being used or you can include the ISERROR function in ASPOSE that might solve my problem.

Many Thanks,

Lee

Hi Lee,

We have checked your lic file with the following codes . It works fine.

License lic = new License();
lic.SetLicense(@"F:\FileTemp\Aspose.Cells.lic");

So please check whether your lic file is in the correct directory.

We have supported the function PMT, IPMT and ISERROR, please check the list in http://www.aspose.com/documentation/file-format-components/aspose.cells-for-.net-and-java/supported-formulas-functions.html

I find PMT function is not on that list. We will update it soon.

Hi Simon,

I'm a bit confused and probably doing something wrong with the new Aspose.Cells.dll file that you sent to me...

At the moment I have a fully functioning application that works with ASPOSE on several spreadsheets so my license and dll's are in the correct place. Now that I have introduced a new spreadsheet I get the error message about an unsupported function. You've sent me a new Aspose.Cells.dll which I put into the following directory

C:\Program Files\Aspose\Aspose.Cells\Bin\Net2.0 and Net1.0

When I now run my application (even without the spreadsheet with the unsupported functions) I get this error message

OLE error 80131040, Prog ID: "Aspose.Cells.License"

If I then take the new Aspose.Cells.dll out of those folders and put the original .dll back it works fine again.

Am I putting the dll in the wrong place. Do I need to re-install a full version of AsposeCells that contains this dll so that it gets registered?

Thanks,

Lee

Hi Lee,

Aspose.Cells.dll is a strong named dll. Please rebuild your application with the new dll.

Hi Laurence,

The application that we have built is not compiled, it is interpretive. The underlying programming language of the developer tool (SOCRATES, from CINCOM corp) used for my application is Delphi. We notice that on google there are many references to this OLE error 80131040 and Delphi.With the new dll I still get this same error.

Is there something fundamentaly different about the new dll i.e. is it now a .net assembly whereas before it was a regular dll? Something must be different???

Before I added this new dll I had a working application and it's getting to a critical part of my project where I have to deliver...

Thanks and Regards,

Lee

Hi Lee,

I think you have to regist this dll again. Please check the post in <A href="https://forum.aspose.com/t/111585</A>.</P> <P> </P>

Hi Simon,

I believe that when we dragged and dropped the dll into the assembly folder this is the same as doing a gacutil on it, i.e. it put the assembly into the GAC.

We are calling it as a COM object, not a .NET assembly. Do you have specific commands that we need to run to register it correctly for use as a COM object.

Thanks,

Lee

Hi,

Could you try to use regasm utility to register the component as a com object before using the component, I think you may also try to check the topic if it helps you: http://www.aspose.com/documentation/file-format-components/aspose.cells-for-.net-and-java/accessing-component-from-com-clients.html

Thnak you.

Amjad,

I don't know why I'm having such a problem with this but I'm struggling to register this dll with the advice given in the previous replys and I get the following error...

RegAsm: error RA0000: Unable to locate input assembly
'C:\Program Files\Aspose\Aspose.Cells\Bin\Net2.0\Aspose.Cells.dll' or one of it
dependencies

Could you possibly supply the exact commands and directries that I need to use to register this dll or even better supply a new Aspose.Cells.msi file to me that contains the latest dll. This will register the new dll in the correct place without me having spend a lot of time trying to find may way around. I've also got to get this new dll onto a server as well as my development PC so a new .msi file would help.

Thanks

Lee

Hi Lee,

I think you have .net framework 2.x (VS.NET 2005) on your system. Could you try to install VS.NET 2003 (.NET framework 1.1) on your pc and re-try the command to check if it works. Moreover, when you install Aspose.Cells.msi, the component is automatically get registered for com clients. We recommend you to register the latest fix (Which Simon provided for you in his previous rely in this thread) on your system.

Thank you.

Hi,

Sorry for my mistake, I think you don't need to install VS.NET 2003 (.NET framework 1.1) on your machine as It should work fine for both. Please try the command with the latest fix (which Simon has provided you), you may simple put the Aspose.Cells.dll file into some folder and open the VS.NET command prompt and change dir to that folder and run the command, e.g..,

...regasm Aspose.Cells.dll and press enter. It should register the component.

Thank you.

Please uninstall Aspose.Cells from your machine first and then copy simon's new dll into your machine and register it with regasm.

If it still doesn't work, we will build a new setup msi for you.

Thanks Aspose,

I seem to have successfully registered the latest Aspose.Cells.ddl now by doing the following...

Copy the new Aspose.Cells.dll into both Bin folders as follows

C:\Program Files\Aspose\Aspose.Cells\Bin\Net1.0
C:\Program Files\Aspose\Aspose.Cells\Bin\Net2.0

Then also copy the Aspose.Cells.dll to the folder where the regasm.exe resides... in my case...

C:\WINNT\Microsoft.NET\Framework\v2.0.50727

Go to the cmd prompt and change directory > cd C:\WINNT\Microsoft.NET\Framework\v2.0.50727

Then type regasm Aspose.Cells.dll /codebase

Thanks and Regards,

Lee

Hi there,

any news on this because I got a similar problem with version 2.9.3.40605 (the version 2.8.4.0 worked). The only formula on the workbook is (in german):

=TEIL(ZELLE(“filename”);FINDEN("[";ZELLE(“filename”);1)+1;(FINDEN("]";ZELLE(“filename”);1)-FINDEN("[";ZELLE(“filename”);1)-1))

Should be in english:

=PART(CELL(“filename”);FIND("[";CELL(“filename”);1)+1;(FIND("]";CELL(“filename”);1)-FIND("[";CELL(“filename”);1)-1))

The stack trace is:

Aspose.Cells.CellsException: Unsupported function in formula calculation engine - code 82
at Aspose.Cells.?.?(Byte[] ?, Int32 ?, ArrayList ?, Cell ?)
at Aspose.Cells.?.?(Cell ?, Byte[] ?)
at Aspose.Cells.?.?(Worksheet ?, Cell ?, FormatCondition ?, ? ?)
at Aspose.Cells.?.?(Worksheet ?, Cell ?)
at Aspose.Cells.?.?(Worksheet ?, Cell ?, Style ?, Boolean ?, Style& ?)
at Aspose.Cells.Pdf.?.?(Int32 ?, Int32 ?, Int32 ?, Int32 ?, Int32 ?, Int32 ?)
at Aspose.Cells.Pdf.?.?(Int32 ?, Int32 ?, Int32 ?, Int32 ?, Int32 ?)
at Aspose.Cells.Pdf.?.?(XmlNode ?, Int32 ?, Int32 ?, Int32 ?, Int32 ?, Int32 ?)
at Aspose.Cells.Pdf.?.?(XmlNode ?, ? ?)
at Aspose.Cells.Pdf.?.?(XmlNode ?, XmlNode& ?, ? ?)
at Aspose.Cells.Pdf.?.?(XmlNode ?, Int32 ?)
at Aspose.Cells.Pdf.?.?()
at Aspose.Cells.Pdf.?.?(Stream ?)
at Aspose.Cells.Workbook.Save(Stream stream, FileFormatType fileFormatType)

Thank you for your information.

BR, Martin