I found this solution:
if the excel document is saved as ".csv" (comma-separated values), excel will automatically separate records with line breaks (good for reading it using the file function), and field-separate within the records with tabs. Still, it will be easily-processible plain text.
I suppose you have a customer who wants to ftp the spreadsheet to the web server and your script will have to update the database or whatever frequently without further need for editing.
have the customer save it as .csv
then your script can do
$thewholefile = file("bla.csv");
foreach($thewholefile as $record)
{
$fields = explode("\t", trim($record));
// do something with $field[0], $field[1] etc. ... perhaps display it as a html-formatted table, or write it to a database ...
}