Client-Side Open XML Applications that Run In-Browser
Return to the
Developer CenterYou can build client-side Open XML applications that run in the browser. This enables you to provide Open XML functionality to your users without requiring them to install an executable such as a .NET application. You might create an application to:
- Collect selection criteria and build a custom Spreadsheet that enables you to provide interesting functionality that they can run locally using Excel.
- Build a PowerPoint Presentation dynamically so that sales folks have a presentation tailored exactly to their current sales prospects.
- Enable the user to upload a Spreadsheet that contains data that they want to submit to the server.
- Enable the user to submit a Word document for validation. You might enable them to check that it meets corporate policy with regards to recommended phrasing or disallowed words.
- Generate a number of random documents for testing purposes. These documents can contain optionally contain a large number of Open XML features, such as tables, headers, footers, comments, content controls, and etc.
- Query an Open XML document to see metrics on it, and to see the features that it uses. You can know whether it contains comments, foot notes, or RTL text. I anticipate that this utility will query and report on a few dozen features.
- Simplify a document, removing features such as RSID attributes, comments, content controls, and MC markup.
Plans are that over time, we’ll be writing and hosting these applications here on EricWhite.com.
Currently, it is fairly easy to build a web-application with Open XML functionality using server-side technologies, such as the Open XML SDK from within an ASP.NET application. However, if you can’t use the Open XML SDK and the .NET Framework, life becomes more difficult. Supplying Open XML functionality in the browser has several advantages.
- Second, you can deliver this functionality without requiring your users to upload documents to your server. This frees up server resources, and in some situations, enables interesting scenarios where clients do not want to expose confidential information in their documents. You can assure them that their document will not leave their browser.
- You can deliver this functionality to a wide variety of platforms, including some tablets, Macs, Linux / Unix, and phones.
Node.Js Server Applications
If you need to build server-side Open XML functionality, you can use Node.Js to implement the functionality, and then use interop to call Node.Js from Java, C++, or other server-side technologies.
It may be possible that the ability of Node.Js to take advantage of multiple cores may enable high-performance Open XML functionality. This is a research project for the future.
Touch-Enabled Windows-8 ‘Windows Store’ Applications
There is a lot of fun to be had with this scenario. Combining touch, HTML5, CSS3, and Open XML presents interesting opportunities for writing collaboration and document manipulation applications.
Apps for Office Clients
Apps for SharePoint 2013