You can do what ever works for you on the back end as long as you are serving good HTML on the front end.
I do a lot of moving data around and it comes at me in all different formats but I get a lot of Excel. And if you're on a Windows box then it's pretty straight forward to read the Excel. There are, however, two methods. You can use the Jet or you can use ActiveX.
The Jet is easier and cleaner but is does read Excel incorrectly from time to time. Use Access instead and you won't have those problems. Just use the ODBC functions and the proper connection string, http://www.connectionstrings.com/ .
The ActiveX method is something like:
$excel = new COM ('Excel.Application');
$excel->visible = true; #keeps you aware of the orphans during development
$book = $excel->workbooks->open(realpath($filepath));
$sheet = $book->worksheets(1);
for ($i=1; $i <= $sheet->usedRange->columns->count; $i++) $field_names[$i] = $sheet->cells(1, $i)->value;