# Re: Prior art of manipulating OpenXML with IronRuby?

**URL:** <https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384>\
**Category:** IronRuby\
**Created:** [October 16, 2009, 3:01am UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384 "2009-10-16T03:01:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 16, 2009, 3:01am UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/1 "2009-10-16T03:01:05Z")

</div>

Thibaut,

Fun! I don’t know of any, but sounds like some light wrappers around  
IronRuby’s COM interop would be good enough. Of course, you could also  
write an addin for Office to provide some UI for managing scripts and  
such inside Office apps. I vaguely remember someone talking about this a  
while ago, but I’m not sure if anything came from it.

But you’re more interested in manipulating .docx/.xlsx files, rather  
than automating the actual apps, right? I would hope that using REXML  
isn’t your only option =P

~js

From: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Dotan N.  
Sent: Wednesday, October 14, 2009 8:25 AM  
To: removed\_email\_address@domain.invalid  
Subject: Re: [Ironruby-core] Prior art of manipulating OpenXML with  
IronRuby ?

can you provide some more detail? with very much earlier version of  
ironruby, i’ve fiddled with the idea of converting VB code that does  
that to ruby but gave up thinking it was too early to try.  
On Wed, Oct 14, 2009 at 5:03 PM, Thibaut BarrÃ¨re  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Hi,

I’m going to need manipulation of Excel/Word documents for a production  
app - I’ll use IronRuby there.

Did anyone develop some kind of tool or dsl to handle these  
manipulations already ?

I’d like to avoid reinventing the wheel if it’s the case,

cheers,

## Thibaut

[http://www.learnivore.com](http://www.learnivore.com)

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 16, 2009, 1:39pm UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/2 "2009-10-16T13:39:09Z")

</div>

Hey guys,  
thanks for all the input, appreciated 🙂

I’ll definitely keep you posted on the output - it’s more likely that  
I’ll  
manipulate xslx directly (or through the OpenXML SDK) than using  
automation.  
One might even think about doing this in a Mono-compatible fashion (that  
would interest quite a bunch of guys out there, me think)… Not sure if  
there’s some fancy way to rely on the OpenXML SDK from Mono though.

In any way, thanks for all the answers - and I’ll definitely keep you  
posted  
on my findings.

cheers,

– Thibaut

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 16, 2009, 3:30pm UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/3 "2009-10-16T15:30:56Z")

</div>

## Now with ironruby support 😉[http://writespace.codeplex.com/](http://writespace.codeplex.com/)

Met vriendelijke groeten - Best regards - Salutations  
Ivan Porto C.  
Blog: [http://flanders.co.nz](http://flanders.co.nz)  
Twitter: [http://twitter.com/casualjim](http://twitter.com/casualjim)  
Author of IronRuby in Action ([http://manning.com/carrero](http://manning.com/carrero))

On Fri, Oct 16, 2009 at 1:38 PM, Thibaut BarrÃ¨re

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 19, 2009, 7:25pm UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/4 "2009-10-19T19:25:24Z")

</div>

I pinged Eric White on the MS Office team to see whether they might  
release  
a Mono version or the source under MSPL. Here’s hoping. 🙂

Ryan R.

Email: removed\_email\_address@domain.invalid  
LinkedIn: [http://www.linkedin.com/in/ryanriley](http://www.linkedin.com/in/ryanriley)  
Blog: [http://wizardsofsmart.net/](http://wizardsofsmart.net/)  
Website: [http://panesofglass.org/](http://panesofglass.org/)

On Fri, Oct 16, 2009 at 6:38 AM, Thibaut BarrÃ¨re

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 22, 2009, 11:42pm UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/5 "2009-10-22T23:42:01Z")

</div>

Hi Ryan et al,

> I just heard from Eric. He said he has heard of no plans to either open up  
> the Open XML SDK or create a Mono-compatible version, so it looks like  
> interop is the way to go, unless you want to reverse engineer the Open XML  
> SDK.

I can stick to Windows then 🙂 Maybe it will end up using some erb +  
xml, like the approach in Documatic  
([http://stonecode.svnrepository.com/documatic/trac.cgi/wiki](http://stonecode.svnrepository.com/documatic/trac.cgi/wiki))

thanks for asking Eric!

## Thibaut

[http://www.learnivore.com](http://www.learnivore.com)

---

<div class="post-metadata">

**Author:** ![jsoho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8baadc/32.png) [@jsoho](https://www.ruby-forum.com/u/jsoho)\
**Post date:** [October 21, 2009, 6:16pm UTC](https://www.ruby-forum.com/t/re-prior-art-of-manipulating-openxml-with-ironruby/177384/6 "2009-10-21T18:16:13Z")

</div>

I just heard from Eric. He said he has heard of no plans to either open  
up  
the Open XML SDK or create a Mono-compatible version, so it looks like  
interop is the way to go, unless you want to reverse engineer the Open  
XML  
SDK.

Ryan R.

Email: removed\_email\_address@domain.invalid  
LinkedIn: [http://www.linkedin.com/in/ryanriley](http://www.linkedin.com/in/ryanriley)  
Blog: [http://wizardsofsmart.net/](http://wizardsofsmart.net/)  
Website: [http://panesofglass.org/](http://panesofglass.org/)
