We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Using Aspose.Cells via COM interop. issue

Hi one more question,

You deliver a tlb file, so aspose cells can be used from other, COM enabled, languages.
I also see in the manual that you marked the 'Open' function on the Workbook class as obsolete and that the Workbook constructor should be used instead.

As COM objects can only be instantiated using a parameterless constructor, losing the open function would mean that the Workbook class can no longer open an existing excel file when used through COM, or have i missed some other function that could be used to achieve this?

Many thanks,

DJ

Hi,


You may still use Workbook.Open() method still, it is not completely removed but obsoleted.

Thank you.

Hi Amjad,

Thanks for the reply, i know it is still there but our documentation has the following note on the open function:

NOTE: This member is now obsolete. Instead, please use Workbook(Stream,LoadOptions) constructor. This property will be removed 12 months later since JULY 2010. Aspose apologizes for any inconvenience you may have experienced.

So I figured it will be removed soon, or has the roadmap for this changed?

Thanks,

Dj

Hi,


Well, the roadmap is slightly changed I think. We may update you on it soon.

Thank you.

Hi,

Well I've already update all (futur) obsolete methods in my code, can you be more clear about what's the new roadmap please ?

Thanks

Hi,

You have a valid point about COM and parameterless instantiation. I have logged your issue in our database so that it could be fixed or you are provided a workaround/sample code.

We will update you asap.

This issue has been logged as CELLSNET-40149.

Hi,

Please use overloaded constructor in COM, please use the reflector to see what the overloaded constructors changed to. e.g

something like Workbook_1,Workbook_2

Hi,

Yhank you for your reply, could you provide some sample code, because i have never seen overloaded constructors in COM, i know overloaded functions are dealt with in this manner.

Also if i import the tlb into for example Delphi, it does not give me these constructors on the workbook, and even if it did I still wouldn't know how to pass parameters to the initialization of a com object.
In delphi Variant com := CreateOLEObject("....Workbook"); or CorWorkbook.Create;
In php new COM("");
etc..

Sorry to be pressing this,
Kind regards,
Dj

Hi,


Please do as directed by using the following steps:
1: Download `http://www.aspose.com/Products/Aspose.Cells/Releases/Aspose.Cells.Interop.zip`
2: register C# dll:

regasm Aspose.Cells.dll /codebase

regasm Aspose.Cells.Interop.dll /codebase

3:
Modify DLL , TLB paths in the sample project in attachement. And run it.

--

It will give you an idea how you may use the Aspose.Cells component in other languages like C++ with the help of interface provided by the product. Simple features are demonstrated e.g reading files, saving files, inputting cell values etc.

Hi thanks for you reply,

I understand i can create an additional comobject to achieve the objective, what I don;t understand is that you make a function "open" obsolete, when this function would circumvent having to create an additional com object to do the same thing. This way brings the overhead of having to keep the com helper object inline with the cells library whereas all the functionality is current in your product to start with.

Anyway I understand form your reply that the function will keep its obsolete status which is fine of course, i'll work around it.

Thank you for your replies and (still) a great product...

Kind regards,

DJ

Hi DJ,

Thanks for your understanding and using Aspose.Cells.

We now recommend COM interop users to use Aspose.Cells for Cloud REST-APIs instead. It can be used for any platforms. Please have a look at the following links for your reference.