Major shortcoming?


#1

I am contacting you to ensure that my company understands correctly how the Aspose.Excel product works. We are currently in the process of evaluating your product for planned inclusion with our ASP.Net product offering. If we decide to proceed, we would be purchasing an Unlimited license, but we seem to have encountered a “show-stopper” problem.

Following is the answer one of my developers received from you regarding a recent question:

"In fact, now Aspose.Excel doesn’t have an invisible calculation engine at all. It just parse the formula and save them to the result excel file. Calculation work is left to MS Excel.

We are thinking of creating the invisible calculation engine. But it’s too complicate to do in a short time. I estimate that it could be available about on July.
I hope it helps. If not please let me know.

Laurence Chen "
---------------------------------------------------------------------------

The problem for us is that our requirement is for an ASP.Net user to open a saved .xls file, and have it populated with data from a database (based on information provided by the user via our application). The .xls file is used only as a template, or in your terminology, a “designer”. This “designer” file could obviously include formulas, as well as formatting, etc.

Our understanding was that we could use Aspose.Excel to open this “designer” file, retrieve data from a database and use your properties and methods to populate the workbook with data, and then finally deliver the formatted report to the user.

It sounds like this approach won’t work however, because the formulas included in the “designer” file won’t recalculate based on the data we populate it with at run-time? If this is the case, I don’t see how we can make use of your product. Other than this issue, we have been very pleased with the Aspose.Excel functionality so far during our testing, but this is a serious shortcoming in terms of the objectives we are trying to meet (ie. reporting based on an .xls template but without installing Excel on the web server and without creating an instance of the Excel object in the process of creating the report).

Could you please contact me as soon as possible to confirm whether our understanding regarding the above is correct or not? Are we misunderstanding something, or are we just trying to use Aspose.Excel for a purpose it wasn’t designed for? Do you have any suggestions for us?

Thanks for your attention,

Bob


#2

Dear Bob,

Currently Aspose.Excel doesn’t have the invisible calculation engine, but in most cases it will not interfer the final result because we force MS Excel to do it when opening the file.

I can give you an example to elaborate formula recalculation.

1. Create a designer file(template)
2. Put 1 in cell A1 and 2 in cell A2
3. Put formula “=A1+A2” in cell B1
4. Save the file and use Aspose.Excel to import it
5. In Aspose.Excel, you can get values in A1, A2 and B1: 1, 2 and 3.
6. If you use Cell.PutValue to change value in cell A1 to 5, the value in B1 will not change in run time. It’s still 3.(This is a shortcoming)
7. Write to excel file using Aspose.Excel then send to client
8. User opens file in his machine, he will find cell A1 is 5, A2 is 2 and B1 is 7.

So you can see that user will get the correct result in his machine.

Without the invisible calculation engine, Aspose.Excel really has shortcomings. So we plan to enhance it to include this feature.
In the above case, another thing should be cared: if you use Aspose.Excel to import the result file again, you will still find the B1 is not 7.

But in your case, I think Aspose.Excel can meet your need because I think you don’t need to get value in B1 in run time. You can populate data as your wish and deliver the formatted report to the user. When user opens the report in his machine, MS Excel will calculate the formula to the correct result.