I have a requirement to save grid results in an Excel XML compatable format. Since the default UltraGridExcelExporter does not support this I'm looking to build my own.
First, has anyone done this and have something that the would like to share?
Assuming not, I'm thnking that the "clean" way would be to build a class derived from UltraGridExcelExporter and instead of writing a binary workbook write the XML equivalent instead. I guess I'm looking for "design" advice to see if this sounds like a reasonable approach. The reason I was going there was to use the existing "event" model to trigger writing my results but I also don't want to write the standard stuff so this may be more work than benefit.
I'll also submit a "feature" request.
Thanks
You really want it to be Excel XML?
The grid actually renders out as XML, but requires an XSL transform to turn it into HTML. You may be able to leverage that aspect and simply transform the grid's XML into XML that Excel likes. The other idea would be to leverage VSTO and re-save an excel binary (xls) into an excel XML file. Not sure this is possible though, but it's an idea.
I don't think there's anything wrong with your idea, in fact I like it - but I'm not sure how much work it will be as I'm not sure about the particulars of Excel XML
-Tony
For other projects I built a class that renders simple Excel XML output. It takes method calls to add the various elements so I was kind of looking to drive that type of class off of the existing event model.
I had not thought of the XSL transform idea. I don't really understand XSL (I'm sorry to admit) so that path did not occure to me but is worth looking into.
I did think of VSTO but I want to be able to generate all this stuff on systems that may or may not have Office installed so didnt' want to build in any MS Office specific dependencise (other than the formats of course).
I've not had time to explore this much since my question/post as I've been off on other report related items but I'll let you know what I figure out (assuming I figure something out of course).
Neil