I am going to start a Server side Office automation project in .Net. Below are the key activities that are planned:
I am more inclined towards OpenXML SDK 2.0 since it is free compared to Aspose. Also, in aspose, I could not locate sample codes to embed Excel document inside word document which is a key requirement.
Can you please guide me on using OpenXML SDK 2.0 or Aspose component? What are the key factors that goes in favor of Aspose (apart from simplicity of APIs) so that i can spend time to evaluate it too?
Thank you.
The Open XML SDK 2.5 simplifies the task of manipulating Open XML packages and the underlying Open XML schema elements within a package. The Open XML SDK 2.5 encapsulates many common tasks that developers perform on Open XML packages, so that you can perform complex operations with just a few lines of code.
The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents. It supports scenarios such as: - High-performance generation of word-processing documents, spreadsheets, and presentations. - Populating content in Word files from an XML data source.
No. You only need to have a reference to the library that provides all the OpenXML functionality. That library is not dependant on Office.
Today MS Open Tech has announced the release of the Open XML SDK version 2.5 as open source software (Apache 2.0 license) under the stewardship of the . NET Foundation.
I just examined both options very carefully for a recent project and can give you the following summary:
OpenXML SDK 2.0
Pros
It is a solid choice if you want to generate template-based Office documents.
Aside from the core SDK there are also the "Productivity Tools for Microsoft Office", which come with a feature called "Reflected Code" to generate the .NET code out of an existing document which actually generates this exact document. Really nice!
The SDK is stable and it is supported by Microsoft.
It's for free! Aspose.Words costs a pretty penny, especially if you have a large number of developers on your team or would like to use it in a "Software as a Service" environment.
Cons
OpenXML cannot render office functions. In short this means that the page numbers of a TOC or the actual page numbers of your Word document are not rendered until the user refreshes the document. The same is true for Excel calculations, so you can't do this rendering/calculation on the server-side (WordAutomation here we are again).
So if you need this feature I would highly recommend you to go with Aspose.Words.
See this SO question/answer for more details.
The learning curve for the SDK seems to be a little bit higher than for Aspose.Words.
You also might have a look into the Word Automation Services in Sharepoint 2010.
Hope that helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With