I’ve been incredibly passionate about Open XML since it’s early beginnings. I remember back in the day I was very excited about the possibility of generating .NET server-side Word, Excel, and PowerPoint documents. I also had the opportunity to manage the Open XML Format SDK 1.0 documentation release, design a poster, and I also wrote for a few years a series of blog posts and MSDN technical articles about Open XML, the SDK, and how to use it.
Since then, the Open XML Format SDK has evolved significantly proving us a .NET API, documentation, and tools to help us simplify our task of generating documents programmatically.
The Open XML Format SDK 2.0 is a superset of the Open XML SDK 1.0. In addition to the functionality provided by the Open XML SDK 1.0, it leverages.NET Language-Integrated Query (LINQ) and provides classes to construct and query the contents of parts within a package. You can use functional construction for composing documents, and LINQ queries for extracting information from documents.
The SDK is a collection of classes that let developers create and manipulate Open XML documents – documents that adhere to the Office Open XML File Formats Standard. Because the SDK provides an application program interface that lets developers manipulate Open XML documents directly, they can do so without the need for the Office client products themselves in both client and server operating environments.
Open XML SDK 2.0 for Microsoft Office offers a number of tools and resources to improve programmatic document processing thus making a task of the developer more efficient. The SDK also carries an interoperability improvements for open XML implementers as well as it is designed to let Open XML developers build high performance client-side or server-side solutions that handle complex operations using only a small amount of program code.
Microsoft has released an RTM version of Open XML SDK 2.0 for Microsoft Office today. If you haven’t already, you can download it and find the online documentation versions here:
I want to use the remainder of this post to provide you all with a run down of most popular Open XML programmability content and detailed links to MSDN Developer Portal pages where you can find lots of articles, videos, and code snippets.
First, the Open XML Developer Center on MSDN provides you with a mix of community content, articles, learning, getting started, and technical content categorized by scenarios and technologies. Here are detailed links to all our top level entry pages:
Downloads Learn Open XML | Getting Started | Articles | How Do I Videos | SDK | Training | Webcasts and Videos
Scenarios Technologies | OPC | Excel | PowerPoint | Word Community
Finally, if you want to take a deep dive into Open XML technical content, here’s a detailed list of most popular MSDN content:
Book chapter:
Book Excerpt: Chapter 22: Office Open XML Essentials
Code samples:
CG: Sample: Word 2007 Sample: Using Open XML to Improve Automation Performance in Word 2010 for Large Amounts of Data
Sample: 2007 Office Sample: Building a Server-Side Document Generation Solution Using the Open XML Object Model
Sample: 2007 Office Sample: Manipulating Office Open XML Format Files
Sample: 2007 Office Sample: Using the Office Open XML Formats to Support Electronic Health Records Portability and Health Industry Standards
CG: Sample: 2007 Office Sample: Introducing the Open XML Format External File Converter for Microsoft Office
CG: Sample: 2007 Office Sample: Creating Documents by Using the Open XML Format SDK 2.0
CG: Sample: 2007 Office Sample: Open XML File Formats Code Snippets for Visual Studio 2008 Using the Open XML SDK 2.0 for Microsoft Office
Columns:
OfficeTalk: Creating Form Letters in Word by Using Bookmarks and Office Open XML Files
OfficeTalk: Working with In-Memory Open XML Documents
OfficeTalk: Programmatically Update Multiple External Data Connections in Excel 2007 by Using Open XML
Downloads:
Download: SharePoint 2010 Presentation: Deep Dive into Open XML 2.0 and the Open XML SDK 2.0
Download: 2007 Office Presentations: Open XML Training Presentations
Download: 2007 Office System Document: Open XML Developer Map
Visual How-tos (how-to article + video + code sample):
Visual How To: Building Word 2007 Documents Using Office Open XML Formats
Visual How To: Embedding Documents in Word 2007 by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Adding Images to Documents in Word 2007 by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Generating Documents with Headers and Footers in Word 2007 by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Merging Simple Content from Excel 2007 Workbooks and Worksheets by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Merging PowerPoint 2007 Decks Together by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Using the Open XML SDK 2.0 Classes Versus Using .Net XML Services
Visual How To: Retrieving Content from Different Parts: Explicit or Implicit Relationships in the Open XML SDK 2.0 for Microsoft Office
Visual How To: Searching for Content in Word 2007 Documents by Using the Open XML SDK 2.0 for Microsoft Office
Visual How To: Generating a Word 2007 Document by Using PowerTools for Open XML and Windows PowerShell
Visual How To: Creating a PowerPoint 2007 Presentation from a Folder of Images by Using the Open XML SDK 2.0 for Microsoft Office
Visual How-To: Using XSLT and Open XML to Create a Word 2007 Document
Visual How To: Using XSLT and Open XML to Create a Word 2007 Document
Visual How To: Displaying Open XML Spreadsheet Tables in the Browser Using Silverlight
Technical articles:
Creating Valid Open XML Documents by Using the Validation Tools in the Open XML Format SDK
Introducing the Office (2007) Open XML File Formats
Using the SharePoint Foundation 2010 Managed Client Object Model with the Open XML SDK 2.0
Accepting Revisions in Open XML Word-Processing Documents
Working with Numbered Lists in Open XML WordprocessingML
Introducing the Open XML Format External File Converter for 2007 Office System SP2
Editing Data in an Excel 2007 Open XML File with VBA
Creating Documents by Using the Open XML Format SDK Version 2.0 CTP (Part 1 of 3)
Creating Documents by Using the Open XML Format SDK 2.0 CTP (Part 2 of 3)
Creating Documents by Using the Open XML Format SDK 2.0 CTP (Part 3 of 3)
Using Office Open XML to Save Time Without Writing Code
Taking the 2007 Office System Further with VBA and Open XML Formats
Using Office Open XML to Customize Document Formatting in the 2007 Office System
Getting More from Document Themes in the 2007 Office System with Office Open XML
Creating Business Applications by Using Excel Services and Office Open XML Formats
Creating a Simple Search and Replace Utility for Word 2007 Open XML Format Documents
Using Office Open XML Formats to Support Electronic Health Records Portability and Health Industry Standards
Creating Document Themes with the Office Open XML Formats
Inserting Repeating Data Items into a Word 2007 Table by Using the Open XML API
Building Server-Side Document Generation Solutions Using the Open XML Object Model (Part 1 of 2)
Building Server-Side Document Generation Solutions Using the Open XML Object Model (Part 2 of 2)
Manipulating Word 2007 Files with the Open XML Format API (Part 1 of 3)
Manipulating Word 2007 Files with the Open XML Format API (Part 2 of 3)
Manipulating Word 2007 Files with the Open XML Format API (Part 3 of 3)
Manipulating Excel 2007 and PowerPoint 2007 Files with the Open XML Format API (Part 1 of 2)
Manipulating Excel 2007 and PowerPoint 2007 Files with the Open XML Format API (Part 2 of 2)
The cherry on the pie: I also want to provide you links to Microsoft blogs where you can find more news about the latest release of the Open XML SDK 2.0 for Microsoft Office:
Bottom line - after reading the above articles, abandon OpenXML and use XSLT.
This toolkit only works for very very hardcoded scenarios. 100% useless