Excel believes that 1900/2/29 is a valid date - which is wrong. Since dates are stored as an integer, all dates after this date are wrong. Is this intentional? The ECMA specification does not mention if this is the case.
Could anyone from Microsoft clarify this issue?
That was actually a behavior introduced many years ago in order to have compabitility with Lotus. Lotus had that bug so for compatibility reasons, we decided to calculate workbooks the same way they did. The ecma documentation will be really clear about the expected behavior, and what the results/values in the file mean.
Hey John, one of the top goals for the Ecma TC is for the format to be 100% compatible with the existing set of Microsoft Office binary documents. If we broke people's spreadsheets when they move them into the new formats, then no one would use it.
It's a very important point for folks to understand and I want to be really clear around that. The goal of our new formats from the start (even before we went to Ecma) was that we wanted to move the old formats into XML, and we wanted to do that with as little negative impact to the end user (since the average user doesn't really care about XML, they only care about the contents and appearance of their files).
The documentation still has a ways to go, and we're working really hard in Ecma to fully document everything. You may notice that the WordprocessingML section is the furthest along. The Excel sections still have a ways to go (I'm actually in Sapporo right now for an Ecma meeting hosted by Toshiba)...
I did not question your hard work.
However, since you criticized the open xml standard, it would be only fair that
you would accept criticism for your own standard.
I understand you intend to fully document all aspects of the
format but I am skeptical so far. It looks like Microsoft approached the
problem the wrong way.
The “right” way would have been to define a clean standard
and rewrite Office to recognize it. Instead, it looks like the standard is
simply an “XMLized” version of your proprietary legacy format. Of course, it’s
a step in the right direction but I am not convinced it will allow third party
developers to be really comfortable when generating office files. Not only is
the schema awkward in some areas but I fear there won’t be any reliable way to
generate Office files.
Here are some examples:
The row element uses "ht" for the height and
"customHeight" to specify that it's a custom height.
1) Why use "ht" instead of "height" since you use
2) Why use "customHeight" in the first place? If one sets the height
attribute, presumably it's a custom height.
Why encode dates as double? Encoding the actual date would
take about the same amount of space and should not impact loading performance. The
fact that Excel uses doubles internally should not pull the standard in the
It looks Excel needs a fill with patternType=none in the
style sheet. Otherwise, it fails to load the workbook. Not only do I not expect
such a behavior to be documented but I fear that in the end the real standard
will be whether Office opens the file correctly, not whether the file is "correct".
Why use indexed colors? Why not use only rgb colors instead?
Indexed colors are a legacy from the old time when palettes where actually
When converting from legacy format, Excel creates parts with
legacy binary format. For example, it still uses .emf images and oleObject.bin
when it’s not needed. Why not just toss these formats unless absolutely
For all the issues I mentioned, I don’t think there is a
performance impact either in file size, memory or cpu usage.
In general, Microsoft does a great job in forums. For example,
I see many Microsoft employees posting on WinFX. However, it’s not the case for
openxmldeveloper.org. Why not hire someone to answer questions in the forums?
Don’t get me wrong. I really like the whole concept of using
XML for Office files. I believe it’s the right thing to do. However, I am not
convinced Microsoft is putting enough resources behind it. In fact, I would not
be surprised if the “old guard” of Office was mostly against it. Pure speculation of course.
In any case, I hope my criticism will prove constructive and
look forward to your reply.
Hmm, I guess Bill is a bit too busy trying to work out what to do with Warren Buffetts money...