LWN.net Logo

Update on ODF Spreadsheet Interoperability

Rob Weir looks at ODF spreadsheet interoperability in a blog posting. Since his original test in March, things have gotten quite a bit worse, largely due to Microsoft Office 2007 SP2 with integrated ODF support. "We might also hear concerns that supporting other vendors' ODF spreadsheet formulas cannot be done because this formula language is undocumented. The irony here is that the formula language used by OpenOffice (and by other vendors) is based on that used by Excel, which itself was not fully documented when OpenOffice implemented it. So an argument, by Microsoft, not to support that language because it is not documented is rather hypocritical."
(Log in to post comments)

Update on ODF Spreadsheet Interoperability

Posted May 4, 2009 18:25 UTC (Mon) by kirkengaard (subscriber, #15022) [Link]

And, more to the point, he notes that what worked in CleverAge, the MS ODF patch and the Sun ODF plugin has not been adopted for SP2. Microsoft put together their own, read- and write-incompatible ODF-handling code for SP2.

I don't want to write a troll post, so I won't go on at length, but what says the most to me is that instead of ODF 1.1 legacy namespace or 1.2 OpenFormula namespace, or even their own OOXML namespace, SP2 strips incoming formulas from documents and writes formulas in its own Excel namespace, where no other application has any reason to look. Hence the epic fail across the board on both read and write lines in Weir's chart.

And this is just the spreadsheet post -- Weir tells us to expect more!

What can I say good about that? I'm just glad to have the warning, so I don't accidentally corrupt my own documents when the lab computers upgrade.

Update on ODF Spreadsheet Interoperability

Posted May 4, 2009 20:18 UTC (Mon) by iabervon (subscriber, #722) [Link]

It seems to me like there are three things going on: there's some random bug in Symphony's beta triggered by importing stuff (where the import may be done correctly, but you can't tell); two of the spreadsheets have already adopted ODF 1.2 based on the draft (which is probably a bad idea; final release specifications have a nasty habit of being backwards compatible with earlier final releases but not being compatible at all with drafts); and Microsoft's support doesn't work (which is somewhat unsurprising, given that ODF 1.1 was under-specified in formulas and ODF 1.2 isn't final).

I'd hold off on expecting any actual compatibility out of spreadsheets until ODF 1.2 is final (released by OASIS). Before then, it'll only work if you're lucky (and you'll probably be lucky unless you go with MS or Sun, where Sun makes a best effort to be close to what people will eventually do, and MS doesn't).

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 17:01 UTC (Tue) by AlexHudson (subscriber, #41828) [Link]

I found this whole test pretty hypocritical, to be honest:

"As many of you know, neither ODF 1.0 nor ODF 1.1 defines a spreadsheet formula language. They leave it implementation-defined."

So to then go on and bitch about how one implementation doesn't behave the way you want it to? The fact it works between different apps at all is amazing (though less so when you see how many are OpenOffice.org-based - three of those tested).

Really, would we rather Microsoft implement the standard, or would we prefer them to do their own take on the unratified-as-yet ODF 1.2?

The screw-up here is OASIS's, not Microsoft's. In order for MS to do what Rob Weir wants they would have to either a. change Excel's formula syntax (HA HA) or b. translate it on load/save to be backward-compatible with OpenOffice, which is a different namespace to OpenOffice's current "of:" prefix anyway.

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 18:59 UTC (Tue) by boudewijn (subscriber, #14185) [Link]

"HA HA?" Did you miss the bit about their earlier plugin actually producing interoperable files? Which means they have had to actually write new code to, you know, break it?

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 20:59 UTC (Tue) by AlexHudson (subscriber, #41828) [Link]

Their "earlier plugin" just does a bit of string manipulation to fiddle the syntax around; it's not "interoperable" - it just "mostly works" for simple formulas.

To have actually interoperable formulas needs a bit more than a set of regexes. Maybe simple tests like Rob's one works; anything real-life is unlikely to work with the previous plugin. To do it correctly is a massive job.

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 19:41 UTC (Tue) by endecotp (guest, #36428) [Link]

> neither ODF 1.0 nor ODF 1.1 defines a spreadsheet formula
> language. They leave it implementation-defined.

What? So let me get this straight: this "open" format that I've been brainwashed into believing is The Right Way to do portable office documents doesn't actually define the formula language? How useless is that! I mean, the formulas are the absolute essence of a spreadsheet.

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 20:20 UTC (Tue) by welinder (guest, #4699) [Link]

Correct -- and they have known for years. See my comments from four years ago on http://blogs.gnome.org/mortenw/2005/06/16/opendocument-fo...

Update on ODF Spreadsheet Interoperability

Posted May 5, 2009 21:04 UTC (Tue) by AlexHudson (subscriber, #41828) [Link]

I actually don't think it was a failing of ODF per se; what they should have done (in my opinion, anyway) was to say that it was expected that people would implement what Excel does.

While most people would baulk at that, end-users know Excel syntax and formulas. Doing something incompatible with that automatically means a. users having to learn new stuff and b. having to convert previous file formulas to a new standard, which could be extremely tough (e.g., Excel's infamous 1900 bug).

Not technically nice or 'elegant', but actually works and serves real-life users.

Update on ODF Spreadsheet Interoperability

Posted May 6, 2009 18:25 UTC (Wed) by endecotp (guest, #36428) [Link]

> end-users know Excel syntax and formulas

Well I don't, and every time I try to use e.g. Gnumeric I spend ages trying to work out the syntax for IF. "One day", I think to myself, "I'll write a spreadsheet that uses C expressions for formulas".

Update on ODF Spreadsheet Interoperability

Posted May 7, 2009 13:48 UTC (Thu) by AlexHudson (subscriber, #41828) [Link]

Ok :) Maybe I should have said, "of the end-users that know formulas without having to consult the 'Help', most of them will be used to the Excel version".

I mean, let's be real - OpenOffice.org's original version was a take on the Excel (or 1-2-3, whatever your preference) system, and the ODF 1.2 formula set is very close too. If you were re-inventing them from scratch, you wouldn't do it that way: huge amount of respect to what ODF 1.2 is doing (vastly better specified, much better accuracy) but it's not exactly different.

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds