Topics by

Link

Summary

Author

Keywords

 

Open Specifications Interactive Pivot

Silverlight pivot that enables exploring of all the content on the Open Specifications site.

Interoperability
Introduction

Level: 100
Pages: 
Code: None
Media: 

Beginning WordprocessingML

Beginning WordprocessingML is a self-directed learning module that helps the reader understand the syntax and structure of WordprocessingML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard.

Interoperability
WordprocessingML

Level: 100
Pages: 
Code: C#
Media: Article, Video

Beginning SpreadsheetML

Beginning SpreadsheetML is a self-directed learning module that helps the reader understand the syntax and structure of SpreadsheetML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard.

Interoperability
SpreadsheetML

Level: 100
Pages: 
Code: 
Media: Article, Video

Beginning PresentationML

Beginning PresentationML is a self-directed learning module that helps the reader understand the syntax and structure of PresentationML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard.

Interoperability
PresentationML

Level: 100
Pages: 
Code: 
Media: Article, Video

Intermediate WordprocessingML

Intermediate WordprocessingML is a self-directed learning module that helps you advance their knowledge of the syntax and structure of WordprocessingML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This module builds on the concepts presented in Beginning WordprocessingML.

Interoperability
WordprocessingML

Level: 200
Pages: 
Code: 
Media: Article, Video

Intermediate SpreadsheetML

Intermediate SpreadsheetML is a self-directed learning module that helps you advance your knowledge of the syntax and structure of SpreadsheetML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This module builds on the concepts presented in Beginning SpreadsheetML.

Interoperability
SpreadsheetML

Level: 200
Pages: 
Code: 
Media: Article, Video

Intermediate PresentationML

Intermediate PresentationML is a self-directed learning module that helps you advance your knowledge of the syntax and structure of PresentationML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This module builds on the concepts presented in Beginning PresentationML.

Interoperability
PresentationML

Level: 200
Pages: 
Code: 
Media: Article, Video

Advanced WordprocessingML

Advanced WordprocessingML is a self-directed learning module that helps increase your knowledge of WordprocessingML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This module builds on the concepts presented in Beginning WordProcessingML and Intermediate WordprocessingML.

Interoperability
WordprocessingML

Level: 300
Pages: 
Code: 
Media: Article, Video

Advanced SpreadsheetML

Advanced SpreadsheetML is a self-directed learning module that helps you build your knowledge of SpreadsheetML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This guide builds on the concepts presented in Beginning SpreadsheetML and Intermediate SpreadsheetML.

Interoperability
SpreadsheetML

Level: 300
Pages: 
Code: 
Media: Article, Video

Advanced PresentationML

Advanced PresentationML is a self-directed learning module that helps you build your knowledge of PresentationML, which is defined in the ISO/IEC 29500 Office Open XML File Formats (Open XML) standard. This guide builds on the concepts presented in Beginning PresentationML and Intermediate PresentationML.

Interoperability
PresentationML

Level: 300
Pages: 
Code: 
Media: Article, Video

Topics by Andrew Coates

Link

Summary

Author

Keywords

 

Linking Word 2007 Content Controls to Custom XML

Linking Word 2007 Content Controls to Custom XML

Andrew Coates

Open XML SDK
WordprocessingML
Content Controls

Level: 200
Pages: 5
Code: None
Media: Article

Topics by Anil Kumar

Link

Summary

Author

Keywords

 

Using Open XML to Improve Automation Performance in Word 2010 for Large Amounts of Data

Learn how to insert large amounts of data quickly by using Open XML. On a typical 4-GHz computer with a single processor, you can insert a 300-row table with an image in each cell by using a content control in less than five seconds. Using Word automation, this process takes much more than a minute.

Anil Kumar
Ansari M
Sarang Datye
Sunil Kumar

Open XML SDK
WordprocessingML
Content Controls

Level: 300
Pages: 11
Code: C#
Media: Article

Topics by Ankush Bhatia

Link

Summary

Author

Keywords

 

How to Sign the SignatureLine using Office Open XML

We can use PackageDigitalSignatureManager class available in System.IO.Packaging namespace to sign any part of an Open XML document. However, when we try to sign a document that has a signature line using this class, we will notice that though the document appears as signed, the signature line still appears as needs to be signed. In order to have the signature appear in the signature line, we will need to do some additional tasks which are mentioned in the resolution section below.

Ankush Bhatia

System.IO.Packaging
Digital Signature

Level: 300
Pages: 3
Code: C#
Media: Article

How to Delete a Worksheet from Excel using Open XML SDK 2.0

Recently I worked on a scenario where a user wanted to delete a worksheet from a workbook using Open XML SDK 2.0. The worksheet may contain some formulas, defined names, pivot tables etc… Though MSDN provides a code snippet which explains how to delete a worksheet, it doesn't cover the scenarios when we have formula, defined names, pivot tables etc. If you delete the worksheet following the MSDN article, Excel may not open the workbook and would throw an error.This blog post demonstrates how to delete a worksheet so that the Workbook opens without errors.

Ankush Bhatia

Open XML SDK
SpreadsheetML

Level: 300
Pages: 3
Code: C#
Media: Article

Topics by Ansari M

Link

Summary

Author

Keywords

 

Using Open XML to Improve Automation Performance in Word 2010 for Large Amounts of Data

Learn how to insert large amounts of data quickly by using Open XML. On a typical 4-GHz computer with a single processor, you can insert a 300-row table with an image in each cell by using a content control in less than five seconds. Using Word automation, this process takes much more than a minute.

Anil Kumar
Ansari M
Sarang Datye
Sunil Kumar

Open XML SDK
WordprocessingML
Content Controls

Level: 300
Pages: 11
Code: C#
Media: Article

Topics by Aurora Queen

Link

Summary

Author

Keywords

 

TechNet Radio - Open XML Formats in Office 2007

How Open XML Formats are intended to be standard file formats to which any Developer or Implementer will have access, key aspects of the modular architecture, why Microsoft chose to standardize the Open XML Formats, and how the design of the Open XML Format makes solution development much simpler than it's been in the past.

Aurora Queen

Introduction

Level: 200
Pages: 
Code: None
Media: Video

Topics by Beth Massi

Link

Summary

Author

Keywords

 

Working with Open XML in Visual Basic

This sample demonstrates how to get started with the Open XML SDK and also has examples of manipulating Word document formats using Visual Basic's XML literals. It also includes a presentation that you can use at your user groups.

Beth Massi

WordprocessingML

Level: 300
Pages: 1
Code: VB
Media: Article

Mail Merging Into a Single Word Document Using XML Literals

Mail Merging Into a Single Word Document Using XML Literals

Beth Massi

Open XML SDK
WordprocessingML

Level: 300
Pages: 6
Code: VB
Media: Article

Merging Text & Photos into a Word Document using Open XML SDK

Merging Text & Photos into a Word Document using Open XML SDK

Beth Massi

Open XML SDK
WordprocessingML

Level: 300
Pages: 10
Code: VB
Media: Article

Topics by Bob McClellan

Link

Summary

Author

Keywords

 

Generalized Approach to Open XML Markup References

Generalized Approach to Open XML Markup References

Bob McClellan

Open XML SDK
Document Builder
PowerTools
WordprocessingML

Level: 200
Pages: 4
Code: None
Media: Article

Topics by Brian Keller

Link

Summary

Author

Keywords

 

This Week on C9: Office 2010, PowerShell for OpenXML, and would you help a robot

Dan and Brian discuss the week's top developer news including: Create Word documents using PowerShell with Power Tools for Open XML, via Greg Duncan

Brian Keller

PowerTools

Level: 200
Pages: 
Code: None
Media: Video

Topics by Charles

Link

Summary

Author

Keywords

 

What's so open about Open XML? Part 1

What's so open about Open XML? How does it represent a major shift in the way some Office applications construct and store data? What are the implications of Open XML on interoperability (do you even need Office to open an Open XML-based Office document)?

Charles

Interoperability

Level: 100
Pages: 
Code: 
Media: Video

What's so open about Open XML? Part 2

What's so open about Open XML? How does it represent a major shift in the way some Office applications construct and store data? What are the implications of Open XML on interoperability (do you even need Office to open an Open XML-based Office document)?

Charles

Interoperability

Level: 100
Pages: 
Code: 
Media: Video

Open XML SDK CTP Released - What is it?

Chris Bryant is a Senior Product Manager on the Office Platform team (and Darth Vader fan). Here, we chat about the Open XML SDK, what it means for Office developers, general purpose programmers, mom and pop. We also touch on why Open XML is interesting.

Charles

Open XML SDK

Level: 200
Pages: 
Code: None
Media: Video

Topics by Chhavi Kumar Agrawal

Link

Summary

Author

Keywords

 

Line shape details in SpreadsheetML documents

This article explains how line properties (like color, width, and head/tail etc.) and details of line shape are represented in DrawingML language within drawing part stored in SpreadsheetMLdocument.

Chhavi Kumar Agrawal

Introduction

Level: 200
Pages: 6
Code: None
Media: Article

Topics by Chris Predeek

Link

Summary

Author

Keywords

 

XSLT and Open XML

Working with XSLT in .NET

Chris Predeek

XSLT

Level: 200
Pages: 14
Code: None
Media: Ppt

Module 08: PresentationML

This PowerPoint presentation will build on our understanding of the basics of PresentationML.

Doug Mahugh
Chris Predeek

PresentationML

Level: 200
Pages: 52
Code: None
Media: Ppt

Module 06: SpreadsheetML Basics

This PowerPoint presentation will explain basics of SpreadsheetML.

Doug Mahugh
Chris Predeek

SpreadsheetML

Level: 200
Pages: 35
Code: None
Media: Ppt

Module 03: WordprocessingML Basics

This PowerPoint presentation will explain basics of WordprocessingML.

Doug Mahugh
Chris Predeek

WordprocessingML

Level: 200
Pages: 42
Code: None
Media: Ppt

Using Office Open XML Formats to Support Electronic Health Records Portability and Health Industry Standards

Use Office Open XML Formats and HL7 CDA to exchange health data securely using industry standard formats.

Ted Pattison
Chris Predeek
Wouter van Vugt

Introduction

Level: 300
Pages: 24
Code: C#
Media: Article

Topics by Dimitris

Link

Summary

Author

Keywords

 

Dynamic production of repeating content controls by a WCF service

Briefly discusses architecture and issues in developing a WCF Service based parameterized Server-side document Generation System.

Dimitris

WordprocessingML
Content Controls
DOCX Generation

Level: 200
Pages: 2
Code: None
Media: Article

Topics by doncho

Link

Summary

Author

Keywords

 

Office Open XML enables round-trip interoperability between Word 2007 and Mindjet's MindManager

In this screencast, Mindjet's Michael Scherotter demonstrates a solution that deeply integrates a MindManager map with Word 2007.

doncho

Introduction

Level: 200
Pages: 
Code: None
Media: Video

Topics by Donovan Follette

Link

Summary

Author

Keywords

 

Introducing Open XML

This video introduces you to the interoperability of documents and the Open XML file formats. It also discusses the benefits of using Open XML.

Donovan Follette

Introduction

Level: 100
Pages: 
Code: 
Media: Video

Open XML Architecture

This video drills into the architecture of Open XML, file formats packaging, file extensions, reference and custom schemas and how to manage data using Open XML.

Donovan Follette

Introduction

Level: 200
Pages: 
Code: 
Media: Video

Open XML Tools and APIs

This video provides guidance on the tools and APIs available for Open XML. The Open XML SDK is provided by Microsoft but other tools are also available from the community and are discussed here.

Donovan Follette

Open XML SDK

Level: 200
Pages: 
Code: 
Media: Video

Introduction to the Open XML Module

Donovan and Chris provide a brief introduction to Open XML.

Donovan Follette

Introduction

Level: 200
Pages: 
Code: None
Media: Video

Open XML Programming Lab

In this lab you will create a SharePoint event handler that will automatically mark an Open XML document as finalized when its status has changed to completed. This is a common practice in the final steps of a workflow or other process that is intended to move the document through a specific lifecycle.

Donovan Follette

SharePoint

Level: 300
Pages: 1
Code: VB
Media: Article

Topics by Doug Mahugh

Link

Summary

Author

Keywords

 

Open XML support in new tools, apps, and custom solutions

Open XML support in new tools, apps, and custom solutions

Doug Mahugh

Introduction

Level: 100
Pages: 4
Code: None
Media: Article

Open XML Power Tools

Describes OpenXML PowerTools

Doug Mahugh

PowerTools

Level: 100
Pages: 3
Code: None
Media: Article

Open XML development videos

Doug Mahugh interviewed several of the most active contributors to OpenXmlDeveloper. The videos are up on Channel 9 and the links included in article.

Doug Mahugh

Introduction

Level: 100
Pages: 1
Code: None
Media: Article

Content Control Toolkit

Describes 'Content Control Toolkit' developed by Microsoft's Matt Scott.

Doug Mahugh

Content Controls
WordprocessingML

Level: 100
Pages: 1
Code: None
Media: Article

MSDN Articles on Open XML and Related Topics

The following is an overview of some of the Open XML information that is available on MSDN, including general XML resources, information about Open XML development, and documentation of Microsoft schemas that can be used with Open XML due to its flexible support for custom schemas.

Doug Mahugh

Introduction

Level: 100
Pages: 1
Code: None
Media: Article

Open XML Explained e-book

This article has attached downloadable copyof "Open XML Explained" by Wouter Van Vugt, the first book on Open XML development. The sample documents for the book are also available for download.

Doug Mahugh

Introduction

Level: 100
Pages: 1
Code: None
Media: Article

Open-source Open XML API for Java

Julien Chable has been working on an open-source API project that would give Java developers a tool for rapid development of Open XML solutions. Since the Java environment doesn't have the .NET Framework 3.0 packaging API (System.IO.Packaging) to support the low-level details, the first phase of this project is to clone the packaging API in Java, which is an ambitious task. Nonetheless, Julien has already delivered the basics of iterating through package parts and writing documents, and he is now looking for contributors to expand the project significantly in the months ahead.

Doug Mahugh

Java

Level: 200
Pages: 
Code: None
Media: Video

Linux/Java interoperability with Open XML

The sample application is running on a Linux server (in a VPC for this demo). The user connects to this server from a Vista/IE machine, makes a few selections, and creates a DOCX that gets passed back to the client. The user then makes changes in Word 2007 and uploads their modified version to the Linux server, where Java code runs to extract the revision-tracking history and show the document's changes through a browser interface.

Doug Mahugh

WordprocessingML
Interoperability

Level: 200
Pages: 
Code: None
Media: Video

Package Explorer for Open XML

You can work with OPC packages (as used by Open XML, XPS, and various other formats) using simple tools such as WINZIP and Notepad, but if you're trying to be productive you'll find that approach tedious.If you want a better tool for this kind of work, and one that can also validate the parts within an OPC package or handle other common Open XML development chores, look no further: Package Explorer is what you want, and it's an open-source project on Codeplex so you can get it with full source code.

Doug Mahugh

OPC

Level: 200
Pages: 
Code: None
Media: Video

Module 07A: SpreadsheetML Advanced

This PowerPoint presentation covers SpreadsheetML concepts that are used in typical spreadsheet documents

Doug Mahugh

SpreadsheetML

Level: 200
Pages: 38
Code: None
Media: Ppt

Module 04: WordprocessingML Advanced

This PowerPoint presentation will build on our understanding of the basics of WordprocessingML.

Doug Mahugh

WordprocessingML

Level: 200
Pages: 58
Code: None
Media: Ppt

Module 05: Custom XML

DrawingML is extremely complex, a huge topic. In this PowerPoint presentation we'll focus on the things you're most likely to use, and leave other details for your own research later if desired.

Doug Mahugh

DrawingML

Level: 200
Pages: 43
Code: None
Media: Ppt

Module 08: PresentationML

This PowerPoint presentation will build on our understanding of the basics of PresentationML.

Doug Mahugh
Chris Predeek

PresentationML

Level: 200
Pages: 52
Code: None
Media: Ppt

Module 06: SpreadsheetML Basics

This PowerPoint presentation will explain basics of SpreadsheetML.

Doug Mahugh
Chris Predeek

SpreadsheetML

Level: 200
Pages: 35
Code: None
Media: Ppt

Module 03: WordprocessingML Basics

This PowerPoint presentation will explain basics of WordprocessingML.

Doug Mahugh
Chris Predeek

WordprocessingML

Level: 200
Pages: 42
Code: None
Media: Ppt

Video: Welcome to Open XML Training

In this workshop, you will learn: 1. Open XML file formats architecture 2. Practical details of the Open XML schemas 3. How to work with the new .NET 3.0 packaging API 4. How to create rich data-driven Open XML documents programmatically

Doug Mahugh

System.IO.Packaging

Level: 200
Pages: 13
Code: None
Media: Ppt

Module 00: Open XML Architecture

In this Presentation, we will learn about the architecture of the Office Open XML formats. Primary focus is on concepts that apply to all three main document types.

Doug Mahugh

Introduction

Level: 200
Pages: 30
Code: None
Media: Ppt

libOPC version 0.0.1 released

The first release of libOPC, a new API for Open XML development, was published on Codeplex last week. This API is the first open-source cross-platform API for developers working with Open Packaging Convention (OPC) packages as used by Open XML, XPS, and other formats

Doug Mahugh

OPC

Level: 200
Pages: 3
Code: None
Media: Article

Release V2 of Open XML document generation system

This post describes Eric White's release V2 of simple Open XML document generation system, a high-performance tool for generating customized documents from any data source that can be serialized as XML.

Doug Mahugh

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 200
Pages: 1
Code: None
Media: Article

Create DOCX Sample Program

This post covers a very simple program for creating an Office Open XML word-processing document.

Doug Mahugh

Introduction
WordprocessingML

Level: 300
Pages: 3
Code: C#
Media: Article

Create Xlsx sample program

This post covers the code for a CreateXlsx program that creates a simple Open XML spreadsheet from scratch using the .NETFramework 3.0 packaging API (System.IO.Packaging)

Doug Mahugh

SpreadsheetML
System.IO.Packaging

Level: 300
Pages: 5
Code: C#
Media: Article

Topics by Eric White

Link

Summary

Author

Keywords

 

OpenXML Content Types in an XML Document

OpenXML Content Types in an XML Document

Eric White

OPC

Level: 100
Pages: 1
Code: None
Media: Article

Bulk Convert DOC to DOCX

Microsoft has a bulk conversion utility that can convert multiple DOC files to DOCX files. This blog post presents very basic information on its use.

Eric White

WordprocessingML

Level: 100
Pages: 3
Code: None
Media: Article

Using the SharePoint 2010 Client Object Model with Open XML

Using the SharePoint 2010 Client Object Model with Open XML

Eric White

SharePoint

Level: 100
Pages: 2
Code: None
Media: Article

Open XML Package Editor Power Tool for Visual Studio 2010

Open XML Package Editor Power Tool for Visual Studio 2010

Eric White

Introduction

Level: 100
Pages: 1
Code: None
Media: Article

Using the Open XML SDK from within a Managed Add-In

Using the Open XML SDK from within a Managed Add-In

Eric White

Open XML SDK
WordprocessingML

Level: 100
Pages: 1
Code: None
Media: Article

Determining if an Open XML WordprocessingML Document contains Tracked Changes

Determining if an Open XML WordprocessingML Document contains Tracked Changes

Eric White

Open XML SDK
WordprocessingML

Level: 100
Pages: 1
Code: None
Media: Article

Using Content Controls to give Semantic Meaning to Content in Open XML WordprocessingML Documents

Using Content Controls to give Semantic Meaning to Content in Open XML WordprocessingML Documents

Eric White

Open XML SDK
WordprocessingML
Content Controls

Level: 100
Pages: 1
Code: None
Media: Article

Using Open XML WordprocessingML Documents as Data Sources

You can use Microsoft Office 2010 or the 2007 Microsoft Office system as part of a comprehensive collaboration system. You can send preformatted documents to your customers and extract data and content from those documents after they are returned. This article contains guidance and links to other resources to help you get started.

Eric White

Open XML SDK
WordprocessingML

Level: 100
Pages: 3
Code: None
Media: Article

Formats Supported for altChunk

This post lists formats supported for imported content by the altChunk importing functionality of Word.

Eric White

Open XML SDK
WordprocessingML

Level: 100
Pages: 1
Code: None
Media: Article

Tutorial: Manipulating Content in a WordprocessingML Document

This tutorial shows how to apply the functional transformational approach and LINQ to XML to manipulate XML documents. The C# and Visual Basic examples query and manipulate information in Office Open XML WordprocessingML documents that are saved by Microsoft Word.

Eric White

Open XML SDK
WordprocessingML

Level: 100
Pages: 1
Code: None
Media: Article

Generating Open XML WordprocessingML Documents

This is a blog post series on parameterized Open XML WordprocessingML document generation.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 100
Pages: 
Code: None
Media: Article

Transforming Open XML Documents using XSLT

Transforming Open XML Documents using XSLT

Eric White

XSLT
OPC
Flat OPC

Level: 200
Pages: 3
Code: None
Media: Article

The Flat OPC Format

Transforming Open XML documents using XSLT is an interesting scenario, but before we can do so, we need to convert the Open XML document into the Flat OPC format. We then perform the XSLT transform, producing a new file in the Flat OPC format, and then convert back to Open XML (OPC) format. This post is one in a series of four posts that present this approach to transforming Open XML documents using XSLT.

Eric White

OPC
Flat OPC
XSLT

Level: 200
Pages: 7
Code: None
Media: Article

Automated Processing of Open XML Documents using PowerShell

Processing Open XML documents using PowerShell is a powerful approach for creating, modifying, and transforming Open XML documents. The PowerTools for Open XML are examples and guidance that show how to do this. They consist of PowerShell cmdlets, and a number of example scripts that demonstrate the use of the cmdlets. Examples include automated word processing document and spreadsheet generation, and preparing documents for distribution external to a company, including removing comments, accepting revisions, applying a uniform theme to them, and applying a watermark to them.

Eric White

PowerTools
DOCX Generation
XLSX Generation

Level: 200
Pages: 4
Code: None
Media: Article

Interrelated Markup in Open XML Word Processing Documents

Interrelated Markup in Open XML Word Processing Documents

Eric White

Open XML SDK
Document Builder
PowerTools
WordprocessingML

Level: 200
Pages: 1
Code: None
Media: Article

Seven Key Benefits of Open XML

Seven Key Benefits of Open XML

Eric White

Introduction

Level: 200
Pages: 2
Code: None
Media: Article

Essentials of the Open Packaging Conventions (OPC), and other Open XML Links

This article presents the basics that you need to know about Open Packaging Conventions if you are building applications using the Open XML SDK or System.IO.Packaging.

Eric White

OPC

Level: 200
Pages: 2
Code: None
Media: Article

Inserting Content That Contains Images Using altChunk

Inserting Content That Contains Images Using altChunk

Eric White

Open XML SDK
WordprocessingML

Level: 200
Pages: 2
Code: None
Media: Article

Using Nested Content Controls for Data and Content Extraction from Open XML WordprocessingML Documents

Using Nested Content Controls for Data and Content Extraction from Open XML WordprocessingML Documents

Eric White

Open XML SDK
WordprocessingML
Content Controls

Level: 200
Pages: 3
Code: C#
Media: Article

Table Markup in Open XML SpreadsheetML

This post presents a summary of the Open XML SpreadsheetML markup that you use to define or query a table.

Eric White

Open XML SDK
SpreadsheetML

Level: 200
Pages: 7
Code: Open XML
Media: Article

Generating Open XML WordprocessingML Documents using XPath Expressions in Content Controls

Introduces the approach of configuring the document generation process by entering XPath expressions in content controls in a template document.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 200
Pages: 9
Code: None
Media: Article

Generating Open XML WordprocessingML Documents

Introduces this blog post series on generating WordprocessingML documents, outlines the goals of the series, and describes various approaches that I may take as I develop some document generation examples.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 200
Pages: 2
Code: None
Media: Article

How to Solve Open XML Developer Problems

Article contains screen-cast that shows the general approach that could be used to solve Open XML developer problems. The general gist of the approach is to create two documents, one without the feature of interest, and one with. Then use the Open XML SDK productivity toolto compare the two and find out the differences.

Eric White

Introduction

Level: 200
Pages: 
Code: None
Media: Article,Video

Exploring Margins in Open XML WordprocessingML Documents

Article has a short screen-cast that shows the markup for various ways of setting margins - for cells, paragraphs, and sections. In addition, the video shows general approach for researching Open XML markup.

Eric White

Open XML SDK
WordprocessingML

Level: 200
Pages: 
Code: None
Media: Article,Video

In-Depth Exploration of WordprocessingML Fields

First video in a two-part series that explains how field markup works.

Eric White

Open XML SDK
WordprocessingML

Level: 200
Pages: 
Code: None
Media: Article,Video

How to Create Protected Spreadsheets with Locked and Unlocked Cells

Article has a 7-minute video which shows markup related to protected sheets with locked and unlocked cells.

Eric White

Open XML SDK
SpreadsheetML

Level: 200
Pages: 
Code: None
Media: Article,Video

Open XML Presentation Generation using a Template Presentation

Article discusses an approach of creating an Open XML template presentation that you can use to generate multiple presentations from data.

Eric White

Open XML SDK
PresentationML
PPTX Generation

Level: 200
Pages: 4
Code: C#
Media: Article,Video

Essentials of the Open Packaging Conventions

Understanding Open Packaging Conventions is key to working with Open XML. Review the structure and learn about the underlying architecture. Compare the different approaches to working with the Open Packaging Conventions and the Open XML Formats

Eric White

OPC

Level: 300
Pages: 17
Code: C#
Media: Article

Working with In-Memory Open XML Documents

Working with Open XML Documents without loading from a file or saving to a file is important when you build applications that work with Microsoft SharePoint Server 2010 or Microsoft ASP.NET Web applications. In addition, some interesting scenarios benefit from creating an in-memory copy of an existing document. Learn how to create and work with in-memory copies of Open XML documents.

Eric White

Open XML SDK
OPC
SharePoint

Level: 300
Pages: 11
Code: C#
Media: Article

Using the SharePoint Foundation 2010 Managed Client Object Model with the Open XML SDK 2.0

The Microsoft SharePoint Foundation 2010 managed client object model enables you to write applications that are based on the Microsoft .NET Framework that access SharePoint content from clients without installing code on the server that runs SharePoint Foundation 2010. By using these two technologies together you can write client-side applications that work with Open XML documents that are stored in document libraries.

Eric White

Open XML SDK
WordprocessingML
SharePoint

Level: 300
Pages: 10
Code: C#
Media: Article

Building Publishing Systems that Use Word 2010 or Word 2007

Using Word 2010 or Word 2007 as an important part of a content publishing system is a powerful approach. This article contains guidance and direction about how to build a content management system, and transforming Open XML WordprocessingML documents to other document formats.

Eric White

WordprocessingML
Content Controls

Level: 300
Pages: 6
Code: C#
Media: Article

Building Document Generation Systems from Templates with Word 2010 and Word 2007

Some business scenarios require generation of many documents by using a template document and a data source. This article contains guidance for this scenario and links to MSDN articles and blog posts.

Eric White

WordprocessingML
DOCX Generation

Level: 300
Pages: 10
Code: None
Media: Article

Transforming Open XML WordprocessingML to XHTML Using the Open XML SDK 2.0

Transforming Open XML WordprocessingML to XHTML Using the Open XML SDK 2.0

Eric White

Open XML SDK
WordprocessingML
SharePoint

Level: 300
Pages: 12
Code: C#
Media: Article

Identifying Open XML Word-Processing Documents with Tracked Revisions

Determining whether an Open XML WordprocessingML document contains tracked revisions is important. You can significantly simplify your code to process Open XML WordprocessingML if you know that the document does not contain tracked revisions. This article describes how to determine whether a document contains tracked revisions.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 10
Code: VB,C#
Media: Article

Mastering Text in Open XML WordprocessingML Documents

Understand how to reliably retrieve text from Open XML WordprocessingML documents.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 31
Code: C#
Media: Article

Developing with SharePoint 2010 Word Automation Services

Learn to use Word Automation Services to do server-side document conversions to and from a variety of document formats. By using the Open XML SDK, you can accomplish tasks that are difficult such as updating the table of contents or repaginating documents.

Eric White
Tristan Davis
Zeyad Rajabi

Open XML SDK
SharePoint
WordprocessingML

Level: 300
Pages: 27
Code: VB,C#
Media: Article

Creating Open XML WordprocessingML Tables with Vertically Merged Cells

Learn to create tables with vertically-merged cells in Open XML WordprocessingML documents.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 15
Code: C#
Media: Article

Open XML SDK and LINQ to XML

This blog post has some code that uses the Open XML SDK and LINQ to XML to query an Open XML document. It also is an example of code written in the functional style.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 7
Code: C#
Media: Article

Using LINQ to Query Excel Tables

Excel has a very cool feature where you can declare that a range of cells is a table. It is a feature that allows you to use Excel very much like a database. Because these tables are stored in Open XML documents, we can implement some simple extension methods and some classes so that we can query these tables using LINQ in a manner that is similar to querying a SQL database. This post presents a bit of code to do this.

Eric White

Open XML SDK
SpreadsheetML

Level: 300
Pages: 21
Code: C#
Media: Article

Simplifying Open XML WordprocessingML Queries by First Accepting Revisions

Simplifying Open XML WordprocessingML Queries by First Accepting Revisions

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 3
Code: C#
Media: Article

Transforming Open XML Documents to Flat OPC Format

Transforming Open XML Documents to Flat OPC Format

Eric White

OPC
Flat OPC

Level: 300
Pages: 5
Code: C#
Media: Article

Transforming Flat OPC Format to Open XML Documents

Transforming Flat OPC Format to Open XML Documents

Eric White

OPC
Flat OPC

Level: 300
Pages: 6
Code: C#
Media: Article

Creating Data-Bound Content Controls using the Open XML SDK and LINQ to XML

Creating Data-Bound Content Controls using the Open XML SDK and LINQ to XML

Eric White

Open XML SDK
WordprocessingML
Content Controls

Level: 300
Pages: 13
Code: C#
Media: Article

How to Create a List of All Parts in an Open XML Document

How to Create a List of All Parts in an Open XML Document

Eric White

OPC

Level: 300
Pages: 4
Code: C#
Media: Article

OpenXmlCodeTester: Validating Code in Open XML Documents

Validating Code in Open XML Documents.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 15
Code: C#
Media: Article

Using LINQ to XML to Retrieve Content Controls in Word 2007

Content controls are an effective way to add structure to word processing documents. This post explains how to write a very small LINQ query to retrieve the contents of content controls.

Eric White

Open XML SDK
WordprocessingML
Content Controls

Level: 300
Pages: 4
Code: C#
Media: Article

Using the Open XML SDK and LINQ to XML to Remove Comments from an Open XML Wordprocessing Document

Using the Open XML SDK and LINQ to XML to Remove Comments from an Open XML Wordprocessing Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 2
Code: C#
Media: Article

Using the Open XML SDK and LINQ to XML to Remove Personal Information from an Open XML Wordprocessing Document

Using the Open XML SDK and LINQ to XML to Remove Personal Information from an Open XML Wordprocessing Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 4
Code: C#
Media: Article

Source Code Available: Complete Implementation of 'Accept All Changes (Tracked Revisions) in Open XML Documents'

Source Code Available: Complete Implementation of 'Accept All Changes (Tracked Revisions) in Open XML Documents'

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 9
Code: C#
Media: Article

How to Extract Comments from Open XML Documents

How to Extract Comments from Open XML Documents

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 5
Code: C#
Media: Article

The Legacy Hashing Algorithm in Open XML

In Open XML, there is a feature whereby you can restrict editing, and allow only users who have a password to modify the file. Note that this isn't a password that protects the file from viewing or modification.

Eric White

WordprocessingML

Level: 300
Pages: 4
Code: C++
Media: Article

How to Use altChunk for Document Assembly

Merging multiple word processing documents into a single document is something that many people want to do. An application built for attorneys might assemble selected standard clauses into a contract. An application built for book publishers can assemble chapters of a book into a single document. This post explains the semantics of the altChunk element, and provides some code using the Open XML SDK that shows how to use altChunk.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 8
Code: C#
Media: Article

Inserting / Deleting / Moving Paragraphs in Open XML Wordprocessing Documents

If you are making a tool to manipulate paragraphs in Open XML Documents, then this post lists some of the constraints that you must pay attention to.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 24
Code: XML
Media: Article

Remove Rsid Attributes and Elements before Comparing Open XML Documents

A convenient way to explore Open XML markup is to create a small document, modify the document slightly in the Word user interface, save it, and then compare it with the Open XML Diff utility that comes with the Open XML SDK V2. However, Word adds extraneous elements and attributes that enable merging of two documents that have forked. These elements and attributes show up as changed, and obscure the differences that we're looking for. An easy way to deal with this is to remove these elements and attributes before comparing documents. We can safely do so without changing the content of the document. This post presents a bit of code to do this.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 3
Code: C#
Media: Article

Inner Join of Two Excel Tables

I recently posted some code that allows you to use LINQ to query Excel tables. The source for these queries is the Open XML document - you don't need to involve the Excel application to query the data in these tables. In that post, I presented a few examples of queries of various types. This post shows a join of two tables using the extension methods and classes presented in that post.

Eric White

Open XML SDK
SpreadsheetML

Level: 300
Pages: 2
Code: C#
Media: Article

Joining LINQ to SQL and LINQ to Excel

This post explains how to open the Excel spreadsheet, query a database using LINQ to SQL, and project a collection of an anonymous type that contains data from both data sources

Eric White

Open XML SDK
SpreadsheetML

Level: 300
Pages: 3
Code: C#
Media: Article

Working with In-Memory Open XML Documents

Sometimes you want to work with Open XML documents in memory. This blog post presents a bit of code that shows how to work with in-memory documents as a MemoryStream.

Eric White

OPC

Level: 300
Pages: 4
Code: C#
Media: Article

Comparing Two Open XML Documents using the Zip Extension Method

Comparing Two Open XML Documents using the Zip Extension Method

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 10
Code: C#
Media: Article

Splitting Runs in Open XML Word Processing Document Paragraphs

Splitting Runs in Open XML Word Processing Document Paragraphs

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 13
Code: C#
Media: Article

Comparison of Navigating Parts between System.IO.Packaging and the Open XML SDK

Comparison of Navigating Parts between System.IO.Packaging and the Open XML SDK

Eric White

Open XML SDK
OPC

Level: 300
Pages: 3
Code: C#
Media: Article

Merging Comments from Multiple Open XML Documents into a Single Document

Merging Comments from Multiple Open XML Documents into a Single Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 2
Code: C#
Media: Article

Using DocumentBuilder with Content Controls for Document Assembly

DocumentBuilder is an example class that's part of the PowerTools for Open XML project that enables you to assemble new documents from existing documents. Document builder fixes up interrelated markup when assembling a new document from existing documents. This post shows how to use DocumentBuilder in concert with content controls to control the document assembly.

Eric White

Open XML SDK
Document Builder
PowerTools
WordprocessingML
Content Controls

Level: 300
Pages: 17
Code: C#
Media: Article

Comparison of altChunk to the DocumentBuilder Class

This post compares and contrasts two approaches to assemble multiple Open XML word processing documents into a single document

Eric White

Open XML SDK
Document Builder
PowerTools
WordprocessingML

Level: 300
Pages: 2
Code: C#
Media: Article

Creating a Template Open XML Document in Memory

Creating a Template Open XML Document in Memory

Eric White

OPC

Level: 300
Pages: 6
Code: C#
Media: Article

Finding Paragraphs by Style Name or Content in an Open XML Word Processing Document

Finding Paragraphs by Style Name or Content in an Open XML Word Processing Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 28
Code: C#
Media: Article

Move/Insert/Delete Paragraphs in Word Processing Documents using the Open XML SDK

Move/Insert/Delete Paragraphs in Word Processing Documents using the Open XML SDK

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 9
Code: C#
Media: Article

Enabling Better Transformations by Simplifying Open XML WordprocessingML Markup

When transforming Open XML markup to another XML vocabulary (such as XHtml), you can sometimes simplify the transform by first transforming the original document to a new, valid WordprocessingML document that contains much simpler markup, and therefore is easier to process. This blog post describes a utility class, MarkupSimplifier, which is part of the PowerTools for Open XML project.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 6
Code: C#
Media: Article

Retrieving the Default Style Name of an Open XML WordprocessingML Document

Whenever you write some Open XML SDK code that processes paragraphs based on style name, you need to retrieve the default style name for a document.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 2
Code: C#
Media: Article

ListItemRetriever: Accurately Retrieving Text of a Open XML WordprocessingML Paragraph

Accurately Retrieving Text of a Open XML WordprocessingML Paragraph. (This is one in a series of posts on transforming Open XML WordprocessingML to XHtml.)

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 7
Code: C#
Media: Article

Validate Open XML Documents using the Open XML SDK 2.0

Validate Open XML Documents using the Open XML SDK 2.0

Eric White

Open XML SDK

Level: 300
Pages: 6
Code: C#
Media: Article

Transforming WordprocessingML to Simpler XML for Easier Processing

Transforming WordprocessingML to Simpler XML for Easier Processing

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 7
Code: C#
Media: Article

Processing all Content Parts in an Open XML WordprocessingML Document

This post shows how to search for all content controls in a document, regardless of whether those content controls are in the main document part, in the headers/footers, or in endnotes/footnotes. This example uses LINQ to XML.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 3
Code: C#
Media: Article

Testing for Base Styles in Open XML WordprocessingML Documents

Testing for Base Styles in Open XML WordprocessingML Documents

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 3
Code: C#
Media: Article

Modifying an Open XML Document in a SharePoint Document Library

On a fairly regular basis, I need to write an example that retrieves an Open XML document from a SharePoint document library, modify the document, and save the document back to the document library. The correct approach is to use a CAML query to retrieve the document. This post presents the minimum amount of code to use the SharePoint object model to do this.

Eric White

Open XML SDK
SharePoint
WordprocessingML

Level: 300
Pages: 4
Code: C#
Media: Article

PowerTools for Open XML

Combining the technologies of PowerShell and Open XML is a powerful and convenient way to do server-side document processing. The PowerTools for Open XML are sample source code and guidance for developers showing how to build PowerShell cmdlets that can create and modify Open XML documents. Also included are a number of examples of PowerShell scripts that use the cmdlets.

Eric White

PowerTools

Level: 300
Pages: 8
Code: C#
Media: Article

Generating Documents from SharePoint with Open XML Content Controls

I'll present some guidance and sample code for creating a document-generation system that uses SharePoint lists to populate tables in an Open XML word-processing document.

Eric White

Open XML SDK
WordprocessingML
SharePoint
Content Controls
DOCX Generation

Level: 300
Pages: 16
Code: C#
Media: Article

Search and Replace Text in an Open XML WordprocessingML Document

Search and Replace Text in an Open XML WordprocessingML Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 
Code: C#
Media: Article,Video

Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document

Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 
Code: C#
Media: Article,Video

Screen-cast: Exploring Margins in Open XML WordprocessingML Documents

This blog has recorded short screen-cast that explores some approaches to setting margins in a word-processing document. It shows setting margins for cells, paragraphs, and sections.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 
Code: C#
Media: Article,Video

Change the Schema for Simple Free Doc Generation System

Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 300
Pages: 
Code: C#
Media: Article,Video

Release of V2 of Doc Gen System: XPath in Content Controls

In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 300
Pages: 
Code: C#
Media: Article,Video

Update Data behind an embedded Chart in an Open XML WordprocessingML Document

11 minute video that walks through the process of embedding a chart in a word-processing document, and then programmatically updating that data so that the chart reflects the new data.

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 
Code: C#
Media: Article,Video

Replacing a Picture in a Picture Content Control in an Open XML WordprocessingML Document

Shows code to replace a picture in a picture content control in an Open XML WordprocessingML document.

Eric White

Open XML SDK
WordprocessingML
Content Controls

Level: 300
Pages: 1
Code: C#
Media: Article

Importing HTML that contains numbering using altChunk

Importing HTML that contains numbering using altChunk

Eric White

Open XML SDK
WordprocessingML

Level: 300
Pages: 2
Code: C#
Media: Article

Changing the Schema for this Open XML Document Generation System

In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 300
Pages: 
Code: C#
Media: Article,Video

Getting Started with Open XML PowerTools Markup Simplifier

In PowerTools, in the HtmlConverter project, there is a class called MarkupSimplifier, which can remove proofing errors. In addition, it can simplify WordprocessingML markup in a variety of ways, including removal of comments, content controls, and etc. Here is a small screen-cast that shows the use of MarkupSimplifier. This screen-cast uses Open XML Package Editor Power Tool for Visual Studio 2010.

Eric White

Open XML SDK
WordprocessingML
PowerTools

Level: 300
Pages: 
Code: C#
Media: Article,Video

Release of V1 of Simple DOCX Generation System

Eric White has developed a preliminary version of this simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1/2 minute video shows using the document generation system at scale. It shows generating 3000 documents in under a minute.

Eric White

Open XML SDK
WordprocessingML
Content Controls
DOCX Generation

Level: 300
Pages: 
Code: C#
Media: Article,Video

Video of use of Document Generation Example

Eric White has completed a rough first version of this document generation system that is driven by C# code that you write in content controls in a Word document. As an intro, he has recorded a small screen-cast that shows the doc gen system in action.