It is becoming more and more common for developers to write rich client-side applications using AJAX, and these applications often want to implement some form of Open XML functionality. Your application could automatically generate a word-processing document or a spreadsheet based on user interactions in your application. While it certainly is straightforward to implement Open XML functionality server-side, when the application mainly is running client-side, it doesn’t make sense to require an interaction with the server to do document generation or modification.
Further, now that we can write Windows 8 Metro-Style applications using HTML5 and JavaScript, we very well may want to include interesting functionality in those applications.
In addition, server-side JavaScript is now becoming much more common. Being able to work with Open XML documents in JavaScript means that we do not need to build a hybrid application that uses C# or Java to do the document manipulation, and then use some form of interop technique so that the server-side JavaScript can deliver the application to the user.
The following screen-cast demonstrates two proof-of-concept examples:
The code is attached to this blog post.
There is an Open XML / JavaScript Resource Center, where you can find all of the content that we have put together on using Open XML from JavaScript.
This screen-cast refers to two external links:
Adobe Flex SDK: http://www.adobe.com/devnet/flex/flex-sdk-download.html
JSZip: http://stuartk.com/jszip/
This is a great article Eric. I am developing a rich web app with a front end built using Javascript/HTML/CSS/Ajax and need to generate a native .pptx with charts created from the front end screens of the web app. Here are more details of what I need to provide for the users: openxmldeveloper.org/.../5567.aspx
I would appreciate it if you could let me know if you are aware of any currently available tools/solutions that could provide would is needed for the users and/or the simplest and fastest way to get this functionality built?
Thanks for you help.