Though from user's point of view OO Calc is very similar to MS Excel, these two products have completelly different API object models. OO offers its own UNO API which is not compatible with MS Office object model at least directly.

There are several ways to program OpenOffice Calc from dot net languages like VB.NET or C#:

It installs unioffice_excel.dll and unioffice_excel.tlb to C:\WINDOWS\system32\ You can see a list of implemented methods in any COM object browser, for example in VBA by adding a reference to unioffice_excel.tlb. Unioffice_excel.dll contains only implementation code without any metadata. It is even possible to run many different applications expecting MS Excel installed and they will begin to work with OO Calc. Also you can use MS Excel primary interop assembly instead of unioffice_excel.tlb. In such case you may need to cast typed instances of objects like Sheet or Range to an IUnknown using CObj() function in VB.NET, I expect it is related with a lack of duality in some MS Excel interfaces.