{"id":635,"date":"2011-12-01T04:00:32","date_gmt":"2011-12-01T04:00:32","guid":{"rendered":"http:\/\/www.ericwhite.com\/home2\/bm8qcmjy\/public_html\/blog\/?page_id=635"},"modified":"2014-03-04T05:56:25","modified_gmt":"2014-03-04T05:56:25","slug":"docx-generation-expanded","status":"publish","type":"page","link":"https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded\/","title":{"rendered":"DOCX Generation"},"content":{"rendered":"<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded'>Back to TOC<\/a><a style='position: relative; left: 1em;' href='https:\/\/www.ericwhite.com\/blog\/docx-generation-video-expanded'>Just Videos<\/a><span style='position: relative; left: 2em;'><a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-condensed'>Condensed TOC<\/a><\/span><\/h2>\n<p>Generating WordprocessingML documents is the most common usage of Open XML.<\/p>\n<ul>\n<li class='ericListItem'><a class='ericListItem' href='http:\/\/msdn.microsoft.com\/en-us\/magazine\/ee532473.aspx' target='_blank'>Generating Documents from SharePoint with Open XML Content Controls<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>I&#8217;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.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/sharepoint-2010-expanded'>SharePoint 2010<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/map\/generating-open-xml-wordprocessingml-documents-blog-post-series\/' target='_blank'>Generating Open XML WordprocessingML Documents<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>This is a blog post series on parameterized Open XML WordprocessingML document generation.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class=\"ericListItem broken_link\" href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2008\/06\/11\/processing-open-xml-documents-server-side-using-powershell.aspx\" target=\"_blank\">Automated Processing of Open XML Documents using PowerShell<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/powertools-for-open-xml-expanded'>PowerTools for Open XML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/xlsx-generation-expanded'>XLSX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/spreadsheetml-expanded'>SpreadsheetML<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='http:\/\/msdn.microsoft.com\/en-us\/library\/ff433638(office.14).aspx' target='_blank'>Building Document Generation Systems from Templates with Word 2010 and Word 2007<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/01\/24\/generating-open-xml-wordprocessingml-documents\/' target='_blank'>Generating Open XML WordprocessingML Documents<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/01\/26\/using-a-wordprocessingml-document-as-a-template-in-the-document-generation-process\/' target='_blank'>Using a WordprocessingML Document as a Template in the Document Generation Process<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>This post examines the approaches for building a template document for the document generation process. A template document is a DOCX document that contains content controls that will control the document generation process.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/01\/28\/the-second-iteration-of-the-template-document\/' target='_blank'>The Second Iteration of the Template Document<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>This post presents the second iteration on a template document to be used for a document generation process.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/02\/02\/more-enhancements-to-the-document-template\/' target='_blank'>More Enhancements to the Document Template<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>Discusses enhancements that enable the template designer to write infrastructure code for the document generation process. Also discusses how the document generation process will work.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/02\/07\/generating-c-code-from-an-xml-tree-using-virtual-extension-methods\/' target='_blank'>Generating C# code from an XML Tree using Virtual Extension Methods<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>One integral part of my scheme for building a document generation system is to write some code that generates C# code to create an arbitrary XML tree. I want to transform the markup for the main document part into C# code that will produce that main document part, with the exception that at various points where I find content controls, I want to alter the transformation as appropriate. The first task is to write code that produces C# code that will create any arbitrary XML tree.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/02\/19\/text-templates-t4-and-the-code-generation-process\/' target='_blank'>Text Templates (T4) and the Code Generation Process<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>Text templates are very cool, and have applicability in the Open XML document generation process. This post details my notes and thoughts on text templates.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>This is a preliminary version of a 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.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/22\/generating-open-xml-wordprocessingml-documents-using-xpath-expressions-in-content-controls\/' target='_blank'>Generating Open XML WordprocessingML Documents using XPath Expressions in Content Controls<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>Introduces the approach of configuring the document generation process by entering XPath expressions in content controls in a template document.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>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.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/08\/review-of-xpath-semantics-of-linq-to-xml\/' target='_blank'>Review of XPath Semantics of LINQ to XML<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>In this post, I review the XPath semantics of LINQ to XML, and show some concrete examples of how I use those semantics in the XPath-in-Content-Controls approach to Open XML WordprocessingML document generation.<span style='color:#2b91af;'>  (Article)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/linq-to-xml-expanded'>LINQ to XML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<li class='ericListItem'><a class='ericListItem' href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/li>\n<p><\/p>\n<div style='margin-left: 2em; margin-bottom: 1em;'>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<div style='vertical-align: text-top; margin-top: .5em;'><span style='color:#2b91af;'>Keywords:&nbsp;&nbsp;<\/span><a href='https:\/\/www.ericwhite.com\/blog\/openxml-expanded'>OpenXML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/open-xml-sdk-expanded'>Open XML SDK<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/wordprocessingml-expanded'>WordprocessingML<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/content-controls-expanded'>Content Controls<\/a>&nbsp;&nbsp;<a href='https:\/\/www.ericwhite.com\/blog\/docx-generation-expanded'>DOCX Generation<\/a>&nbsp;&nbsp;<\/div>\n<\/div>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Back to TOCJust VideosCondensed TOC Generating WordprocessingML documents is the most common usage of Open XML. Generating Documents from SharePoint with Open XML Content Controls I&#8217;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. (Article) Keywords:&nbsp;&nbsp;OpenXML&nbsp;&nbsp;Open XML SDK&nbsp;&nbsp;WordprocessingML&nbsp;&nbsp;SharePoint 2010&nbsp;&nbsp;Content [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_s2mail":"","footnotes":""},"class_list":["post-635","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":8,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/635\/revisions"}],"predecessor-version":[{"id":7993,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/635\/revisions\/7993"}],"wp:attachment":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/media?parent=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}