"If you simply have to produce tabular data for use in Excel, consider CSV." That's what most of us have been doing for years, simply to avoid the mess discussed in this article. After reading the article, I, for one, will keep on doing it.
I ran into a nasty bug(?) recently in the way Excel processes CSVs. I create a well formed CSV from a Java Web app which the user downloads. They open the CSV up in Excel and modify the data for an eventual upload. However, during the save process, Excel truncates trailing commas. Which causes my well formed CSV to be a poorly formed CSV during upload and parsing. Not fun.
Why are the Microsoft Office file formats so complicated? (And some workarounds)
11–20 of 22 posts
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#12Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#13I call bullshit. A lot of his arguments perhaps make sense for early versions of Office, but for '97 and later? It didn't occur to anyone on the Word or Excel teams in 1997 that maybe interoperability would be an issue? I really enjoy Joel's blog, but sometimes I can't stand the clubbish-ness of the old-school Microsoft brigade. "We were a bunch of geniuses, doing the best we could..." Yeah, well, the software is usa…
Sure, they realized interoperability would be important. But by 1995 customers were already whining about how often the file format changed. Nobody would buy Office (n+1) if it would start writing documents in a format that Office (n) didn't understand, because interoperability means precisely that you can't get everyone to upgrade at the same time. So they did a remarkably good job of holding the file formats stable…
Forward/backward compatibility does not require a lot of work or intellect, unless you're deliberately obfuscating your format.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#14Joel suggests using one licensed copy of Office to run as a web service backend but I'm not so sure Microsoft's EULA allows that.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#15Open XML is not designed for performance... it's XML, and today's computers are fast enough. It IS [supposed to be] designed for interoperability (somehow they managed to get ECMA to put their stamp of approval on it), but in reality it feels like it's a half-assed attempt to wrap all of Office's legacy formats in XML. For example, to import you still need WMF importing, because a lot of the graphics (including all clip art) are WMF.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#16Eventually, all software needs a rewrite. Not just MS's.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#17It means you have to rewrite all of your date display and parsing code to handle both epochs. That would take several days to implement, I think.
That's just ridiculous. In my mind, you need a piece of code that reads the 1904 record and sets a flag in the code. Then, your date display and parsing code should all call one, or maybe two, functions which handle the conversion for you based on this flag. Thus, supporting two different epochs requires at most three components: one to read it and set a flag, one to convert a numerical argument to a date based on that flag, and one to convert a date back to a numerical argument (again, based on the flag). Should this really take "several days to implement"? It seems to me that an hour should be plenty of time.
It's going to be hard for me to continue to take him seriously if this is his view of how software should be built.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#18It's not a perfect implementation of the formats, but it's good enough for most things. And has the rather large advantage that you can run it under your favorite *nix.
Re: Why are the Microsoft Office file formats so complicated? (And some workarounds)
#19I call bullshit. A lot of his arguments perhaps make sense for early versions of Office, but for '97 and later? It didn't occur to anyone on the Word or Excel teams in 1997 that maybe interoperability would be an issue? I really enjoy Joel's blog, but sometimes I can't stand the clubbish-ness of the old-school Microsoft brigade. "We were a bunch of geniuses, doing the best we could..." Yeah, well, the software is usa…