Several of my tools generate Microsoft Excel and Word documents as part of their output and for the longest time, I have used various open-source libraries to provide me with OpenDocumentXML functionality to generate real worksheets and documents, instead of just CSV and plain text files.
The only problem, especially with my SnapShot! documentation utility, was the amount of time it was taking to generate documents. SnapShot! generates a ton of worksheets and documents and I was growing increasing concerned with the generation time.
So I started looking around for alternatives and I kept coming back to a company celled Aspose. I have been looking at their components for years and they have two products that I needed:
Aspose.Cells, for generating Microsoft Excel files and Aspose.Words for generating Microsoft Word documents.
Full disclosure: They offer a free copy of their component libraries to Microsoft MVPs so I took them up on their offer.
Let me just say that I am extremely impressed with both Cells and Words. Extremely impressed.
Not only are their components easy to use, but they are blazingly fast.
Working on SnapShot!, I took me about about 1.5 hours to move both my worksheet generation and document generation from the OpenDocumentXML libraries to Cells and Words. And that is including reading their documentation to figure out how to do things like:
- Automatically generate tables of content
- Insert figures into a Word document
- Word headers and footers
- Turning on filtering on an Excel worksheet
- Creating a workbook containing multiple worksheets
And did I mention fast? Oh My Gosh! Fast.
Cells generates Excel worksheets like it is being paid by the row and it’s almost 5:00pm on Friday night.
The combination of Cells and Words sped up the document generation process between 40% and 50%, depending on the data being extracted from Dynamics CRM.
Again, I am very impressed with the quality and speed of this product. I don’t give out recommendations often, but this is surely one of them.
And don’t forget that Cells and Words are just two components in their library. I can’t wait to get to use some of the others, like Aspose.Diagram, which generates Microsoft Visio diagrams. Think about that as you are creating your own documentation…
Anyway, that’s my recommendation for today. Take a look if you have time and interest.