On Fri, 19 Jan 2007 18:26:33 +0000, Richard Cole
<email@example.com> wrote something that piqued my interest
enough to reply with:
>Apply to Microsoft and get a licence to see the internal format of .xl?
>They will want to know why you need it, but it is available (or was).
Both the older formats such as BIFF and newer XML formats are actually
publically available (otherwise Open Office would be in breach for
publishing almost all MS Office file formats), although most code you'll
find on the 'net that doesn't require Excel installed deals with writing
them not reading them (as writing a BIFF2.1 spreadsheet is trivial and
readable by almost all Excel versions).
Reading them without Excel being installed on the 'server' machine,
particularly when you may have to deal with multiple possible versions
(BIFF, binary, XML, etc) is not as trivial, which is why most controls
available to do that will cost you upwards of $150...I haven't seen a
free control or code to do it.
It is supposedly possible to use JET/ADO to access an XLS as if it where
a DB (similarly to the way you can access an Access MDB without Access
installed), but I've not got it to work consistently across different
versions of MS Office, or even know if it works without Excel installed
as all my dev machines have MS Office installed;
You could try to write your own method by decompiling the file format
(which I presume is what Richard's comment refers to);
....but I don't recommend it, it's not a trivial task. If your business
is not willing to pay for a pre-built control to do it using VB6 then
you're better off looking at getting whoever generates the XLS to export
to CSV or similar so that it's more easily readable (it would be simpler
to write an export macro and build it into the user workbooks).
As to bare minimum install to make OLE work, you're going to have to
install the bulk of Excel anyway, which I guess you were trying to
Can fat people go skinny-dipping ?