Announcing the Release of the Open XML SDK 2.0


Today, I am really excited to announce the worldwide availability of the Open XML SDK 2.0 for Microsoft Office! The Open XML SDK plays an integral part in creating Office document solutions that work on the client or server. The Open XML SDK allows you to create, consume, and manipulate Open XML files without needing to automate Office client applications. Combining the power of Office Services and the Open XML SDK enables even more scenarios, such as rich server-side document assembly solutions. Using the Open XML SDK and Office Services, you now have an alternative for many of the scenarios where previously you would have run into one of Office’s most popular knowledge base articles that talks about how automating Office client applications on the server is not supported (http://support.microsoft.com/kb/257757).


Development of the Open XML SDK 2.0 spanned almost two years and involved the release of four Technical Previews in addition to the final release announced today. Your feedback via the blogs, MSDN forums, www.openxmldeveloper.com forums, and Microsoft Connect site helped shape the overall design of the SDK. Thank you so much for your support and feedback! Please feel free to continue sending us feedback with respect to the Open XML SDK.


Download the SDK











image




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


Release Notes



  • Open XML SDK 2.0 is freely redistributable by any solution provider implementing the formats

  • Office applications are not required to use the Open XML SDK 2.0, and no software purchase is required. Developers can freely use the Open XML SDK to build document processing solutions for Microsoft Office files and for other implementations of the IS29500 standard

Learn More about the Open XML SDK


Over the past year and a half, I have shown you guys a lot of real world scenarios/solutions that are built with the SDK. Here is a summary of links that will help you learn more about the Open XML SDK:



In a future post I will outline the improvements we made to the Open XML SDK 2.0 compared to the December 2009 CTP.


Zeyad Rajabi

Comments (16)

  1. Jason says:

    Nice work.

    Its worth noting there are alternatives to this for use on non-MS platforms. One such alternative, for Java, is docx4j (which also supports pptx; if its xlsx you are interested in, try Apache POI).

  2. Karthik says:

    Good work,  guys.

    You had mentioned that it contains content classes for use with both 2007 and 2010,  so will there be any compatibility issue with MS-Word 2010 with document generated based on office 2007 schemas ?

    /Karthik

  3. Karthik says:

    Also,  is any plans on providing support for exporting excel chart as image in future ?

    /Karthik

  4. Kevin Boske says:

    Excellent! Nice to see this released.  

  5. Zeyad Rajabi says:

    @ Karthik

    No, there should not be any compatibility issues with Office 2010 files handled in Office 2007. Open XML allows for rich markup compatibility, which enables this type of scenario.

    Images of charts can be generated by leveraging Excel Services. You can even get an image of a chart via REST API.

  6. Mohammed says:

    Awesome! Congratulations team for your hard work.

  7. Vlad says:

    Hey guys, great work! Are you going to port the SDK to Silverlight anytime soon?

  8. Pratik says:

    When I upgrade my CTP to the release version of OpenXML, I get an error for the Alias type below.  How should this code be modified for it to be functional with the release version?  

    // Find the content control with the matching alias.  

                      SdtBlock sdtInvoiceOrderItems = doc.Descendants<SdtBlock>()

                                                           .Where(s => s.SdtProperties.GetFirstChild<Alias>().Val.Value.Equals("Invoice Order Items"))

                                                           .First();

  9. Zeyad Rajabi says:

    @Vlad – Could you give us some more insight into why you want to use the Open XML SDK within Silverlight? What scenarios are you trying to accomplish?

    @Pratik – Change Alias to SdtAlias

  10. Erick T says:

    This is excellent. One question – how stable is the XML for each application between versions? That is, if I write code to access Word 07 via the SDK, will it continue to work when the source document is Word 10?

    Thanks

  11. Karthik says:

    Thanks Zeyad, that solved my requirement.

    I think generating office documents from the Silverlight application is what Mr.Vlad is looking for, I suppose we currently have only one such component in the market.

    So this will be a good addition to Open XML SDK too πŸ™‚

    /Karthik

  12. maxi326 says:

    Finally an RTM.

    but can I use it just like previous Open XML SDK?

    what is the "for MS office" stand for?

  13. Zeyad Rajabi says:

    @Erick – The applications are designed with backwards compatibility in mind. If you create an Office 2007 compliant Open XML file then that file should be able to be opened in Office 2010. Similarly, an Office 2010 compliant Open XML file will be able to be opened in Office 2007.

    @maxi326 – What do you mean β€œcan I use it just like previous Open XML SDK”? Are you talking about the license associated with the SDK? The Open XML SDK includes validation functionality and class support for Microsoft Office, which is why we chose this particular branding.

  14. Vlad says:

    Hi Zeyad,

    Silverlight compatible Open XML SDK can help people to read/write documents directly on the Silverlight client.

  15. Miguel de Icaza says:

    Has there been any updates to open sourcing the OOXML SDK?

  16. K says:

    Well,  its interesting,  I too have the same question in my mind (Open sourcing OOXML SDK),  I think short answer would be no πŸ™‚

    Lets keep our fingers crossed until we hear from Zeyad.

    K

Skip to main content