tags:

views:

78

answers:

3

I have a client who wants to be able to embed an Excel document (one that is currently sitting on the same server as the HTML document) like how you would embed a Flash app on a page.

I'm correct in assuming this is not possible, right? Please confirm/deny so we can hopefully move on from this because he seems to think this is possible. We are on a LAMP setup so no .NET tricks, unfortunately.

+1  A: 

In theory:

<object data="foo.xls" type="application/vnd.ms-excel" height="500" width="500">
    <p>View <a href="foo.xls">data about foo bar baz</a> as an Excel spreadsheet</p>
</object>

I can't speak for browser support for this, but Microsoft do provide browser plug-ins for Office applications — you just usually only see them running full-browser-window.

Note that since this is "like Flash", the server side environment is irrelevant.

David Dorward
I strongly suspect this works solely in IE on computers with the Office suite installed.
ceejayoz
Most likely, nice that the object element allows for alternative content.
David Dorward
+2  A: 

You are correct - at least, it can't be done cross-browser. You should just link to the Excel spreadsheet file.

Alternatively, if you only need to display the data, I'm sure you can find a PHP library that will read Excel files and display their contents in a HTML table.

DisgruntledGoat
like http://phpexcel.codeplex.com/ for instance
mgroves
Thanks for the plug Matt. The document could easily be read as Excel and then streamed to the browser as HTML
Mark Baker
A: 

If this excel file doesn't contain any sensitive data, the best solution would be to use online service like Google Docs to upload document and get embed code (which is iframe with html table inside so most browsers should be able to display it correctly).

dev-null-dweller
I didnt think of this, I'm going to give it a shot and see if the client likes this idea. It's a few extra steps but it's the functionality he wants......
Brian