Announcing ExtremeML Beta 2
A while back we launched the Premium Edition of ExtremeML – an extension of the open source project that offered the promise of many additional features and the reassurance of a range of priority support services.
Despite having high hopes that this additional functionality would prove attractive to users and develop into a serious project in its own right, the response has been disappointing. so we have decided to suspend it. Every project needs to reach critical mass in order to become a success, and the Premium Edition appears not to be one of those destined to attract that level of growth.
However, the good news for users of the Community Edition of ExtremeML is that all premium features developed under the above initiative have now been wrapped into the open source codebase, which is available for download from CodePlex.
Working with Streams in ExtremeML
One of the most commonly requested “missing features” of ExtremeML is the ability to read and write streamed data. The recently anncounced premium edition addresses this need through the addition of two new factory method overloads.
To help you get started using streams, here are two new tutorials from the updated user guide:
OpenXML SDK RTM release and a new release of ExtremeML
The long-awaited RTM release of the Microsoft OpenXML SDK has finally arrived and is available for download here. To mark the occasion, the OpenXML Developer website has published a variety of new articles, including this excellent primer, which charts the history of the SDK and includes links to a range of useful developer resources.
SDK Program Manager Zeyad Rajabi has also released a video podcast, in which he talks about the rationale behind the SDK and explains some of the key ways in which it eases and streamlines OpenXML application dvelopment.
Not wishing to miss the party, ExtremeML has also undergone some recent updates (mostly to accommodate breaking changes in the SDK), and the full set of updated runtime libraries, source code and documentation are available for download from CodePlex.
After six months of user feedback (during which a number of bugs were fixed and a few suggestions were translated into new features) this seems like an appropriate moment for ExtremeML to evolve from being just a “preview”. Therefore, this release of ExtremeML is designated Beta 1. Your continued feedback is always welcome.
ExtremeML now Supports Conditional Formatting
With most software projects, you only get out as much as you put in. Every feature that your application ultimately offers is the result of a conscious design decision, often followed by countless hours of development and testing.
ExtremeML is a little different, as it sometimes delivers features by surprise! This is because a template workbook used by ExtremeML may include any of Excel’s many hundreds of spreadsheet features, and they will always remain intact in the final output, even if ExtremeML doesn’t specifically include code to support them. A couple of good examples of this free functionality are shown in the pivot table and pivot chart tutorials, which “just work”, despite the fact that ExtremeML does nothing extra to support them.
Of course, this functional bounty sometimes leads to complacency, with the assumption that a certain feature “must work”, despite the fact that it hasn’t actually been tested. One such example is Excel’s conditional formatting feature, which enables worksheet cells to be dynamically styled according to rules applied to their content. I had long assumed that conditional formatting could be added to a template in the same manner as static cell styling and that it would similarly come to life at runtime. In fact, I was wrong, as I recently learned from a couple of users who tried to work with it.
Thankfully, after a little time spent understanding the inner complexities of conditional formatting in OpenXML, this feature is now implemented and available in the latest download.
To see how it works, here’s a quick tutorial.
New Article on OpenXML Developer: ExtremeML Pivot Table
I had almost forgotten, but some weeks ago the guys at Intergen contacted me, seeking to develop a proof-of-concept application using ExtremeML. I offered a few suggestions about what might work well and some tips about how to achieve it and within a couple of days their demo was complete and working.
The OpenXML Developer website has now published a write-up of this project in the form of an article: ExtremeML Pivot Table.
This got me thinking about creating a case study area on this website, showcasing the most original and innovative uses of ExtremeML. If you would be interested in showing off your achievements via a collaborative article (or if you just need some guidance with your project) it would be great to hear from you.
New Article: SpreadsheetML Made Easy Using C#
The OpenXML Developer website has just published one of my articles, entitled “SpreadsheetML Made Easy Using C#”.
It’s an introduction to ExtremeML and a walkthrough of a typical use-case involving an Excel template workbook that’s dynamically populated from a database. The article also shows how easy it is to bind pivot tables and charts to dynamically generated spreadsheet content.
Read the full article here.
New Tutorial: Iterating Over Excel Rows and Cells
In response to a couple of user requests, I have created a new tutorial showing an alternative method of reading and retrieving data from an existing Excel worksheet. You might use this technique in situations where your application needs to process variable-size Excel data created by a third party or generated by another application:
If you need help or guidance with an ExtremeML project, please send me your questions.
ExtremeML Updated for Compatibility with Latest SDK Release
Despite the general enthusiasm shared by most OpenXML SDK users at the release of the latest December 2009 CTP, it introduced a number of breaking changes, which has necessitated some corrective coding within ExtremeML.
This work is now complete and the updated release of ExtremeML (entitled the December 2009 Preview) is now available for download.
Microsoft Releases 4th OpenXML SDK CTP
The much-awaited December 2009 CTP of the Microsoft OpenXML SDK is now available for download.
It delivers a number of new features, including some elegant refinements to its accompanying tools, which are now accessible via a combined interface.
To accompany this release, Microsoft Program Manager Zeyad Rajabi has published a comprehensive discussion of the four key areas that have been targeted in the latest round of improvements. You can read the full story here.
2 New Tutorials: Adding PivotTables and PivotCharts using ExtremeML
Building on my earlier tutorials, which explained a range of techniques for working with programmatically injecting table data into Excel, I have today published to new lessons that explore ExtremeML’s support for PivotTables and PivotCharts.