Several of my colleagues are talking about this today, after four successful technology preview releases the final version is now available. You can download version 2.0 of the Open XML SDK from the Microsoft Download Centre. For those of you working with Open XML documents, today also sees a revamp of the Open XML Developer Centre on MSDN.
For detailed information check out one of the blog entries from Brian Jones & Zeyad Rajabi, Eric White or Gray Knowlton.
Eric White has a great description of the two components of the SDK;
As with the CTPs, the RTM version of the Open XML SDK consists of two principle components:
A .NET managed class library that provides capabilities for reading, writing, modifying, and validating Open XML documents.
A productivity tool that includes the ability to diff Open XML documents, a C# code generator, and tools to explore and read about the class library and the standard.
About the Library
Some of the key characteristics of the library are:
You can use a powerful functional programming approach to write applications that generate documents, spreadsheets, and presentations.
You can use Language Integrated Query (LINQ) to retrieve data and content from documents, spreadsheets, and presentations.
You can write code to open, modify, and save documents.
You can use validation functionality to be more certain that your documents conform to the IS29500 standard and will be able to be opened using Microsoft Office and other conforming applications. Document formats, by their very nature, are involved. The validation functionality in the Open XML SDK is a big help when writing real-world solutions.
About the Tool
Key features of the tool are:
You can compare two Open XML documents to see exact changes in their markup. This is one of the best ways to learn about Open XML markup. If you want to understand which elements and attributes represent a feature that you want to interact with, create a document without the feature, copy the document to a new document, modify the new document, and compare to the old. After determining the elements and attributes that changed, you can research them in the Open XML specification.
You can build a document generation program with a minimum of effort. You supply the tool with a sample document. You can then generate C# code that that will generate the entire document, a specific part, or a specific element with its children elements. This code is generated in a style that takes advantage of ‘functional construction’. By this, I mean that any element (or its descendant elements) can be generated in a single expression. You don’t need to write multiple statements. This ability to generate content in an expression instead of a statement means that you can use LINQ queries and projections to formulate new descendant content for an element. It’s a powerful approach.
The ability to explore the Open XML specification, the implementation notes, and the Open XML SDK class hierarchy in the tool means that you have one integrated tool to do much of the work that is necessary to build sophisticated document generation systems.
Download the SDK
Download the Open XML SDK 2.0 for Microsoft Office
This download provides strongly typed part and content classes for use with Office 2007 & Office 2010 Open XML documents. http://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0
