MS file formats

I see here MS have published the specification for the BIFF (.xls) file format. Just by a quick glance it looks they have also released the first ever info on the mysterious .xlb toobar files. The file format stuff is updated from 97 I think, which was the last time it got published.

I wouldn’t rush to print it though, its a thousand pages!

Blimey, they have also published the format of VBA projects, another first.

Are you planning any apps that use the file formats directly?

(I have one for removing VBA projects, but its a bit aggressive – I can now find out where I should be deleting from, hopefully).



6 Responses to “MS file formats”

  1. Harlan Grove Says:

    I’m wondering how necessary these are since the BIFF8 file format was documented in the Excel 97 SDK and given the work that’s been done by the Gnumeric, OpenOffice and (yes, I’ll admit it) KOffice teams not to mention the modules available in Perl (and perhaps other scripting languages) and R to read XLS files directly without going through Excel.

    As I see it, if you use one of these open source code bases for an application that manipulates XLS files, your own code may be governed by licenses on that code. The alternative of using Microsoft code could mean never being able to change your mind and switch to the open source alternatives.

  2. Doug Glancy Says:

    I don’t understand this topic, but am curious. Can somebody give an example of an “application that manipulates XLS files”?

  3. Simon Says:

    Lots of business intelligence apps like Cognos etc create .xls files on the server to download to client machines.
    Some of the spreadsheet auditing tools open the .xls themselves not using Excel and read it specifically just to audit it.

    Harlan fair points, I have the OO docs and they are good. There are some decent Delphi based xls readers too that can be used as drop in components.

    Licensing is a jungle, and the MS approach with their sources make things much more complex.

  4. Stephane Rodriguez Says:

    Those additional documents contain some of the patented bits that are necessary to know in order to progress towards a full run-time implementation of the file formats.

    These should have been part of the ISO OOXML proposal from day one.

    Given that Microsoft makes explicit that those documents are covered by patents, which it does not disclose, it makes the whole ISO thing a complete farce.

    It’s too bad that for the largest documents of the set, Microsoft chose to organize the items alphabetically (i.e. it’s a total mess), instead of logically by theme. But any implementer who has been serious enough to deal with this for years already will manage (especially if they have all the background needed to understand what’s said). New entrants though, I’m not sure…

  5. Stephane Rodriguez Says:

    “I have one for removing VBA projects, but its a bit aggressive – I can now find out where I should be deleting from, hopefully”

    Hmm, lemme guess. Are you by any chance deleting the VBA project streams in the OLE file?
    You can’t do that alone since all internal spreadsheet objects associated to a macro will be left pending.

  6. Simon Says:

    Stephane – spot on.
    And in the docs I can see that loads of stuff I (dumbly) assumed was VBA is in other places.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: