есть бесплатный csvGrab и куча доработок около него.
если клиенту в лом сохранять эксель как csv
можно прикрутить http://sourceforge.net/projects/phpexcelreader
вот функция в помощь:
function fileXslToCsv($filename)
{
$fcsv = realpath(dirname(__FILE__)) . '/tmp/data';
require_once ('reader.php');
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('cp-1251');
$data->setUTFEncoder('mb');
$data->read($filename);
$fo = fopen($fcsv, 'w+t');
$file_content = "";
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)
{
if ($data->sheets[0]['cells'][$i][1]=="") break;
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
$file_content .=$data->sheets[0]['cells'][$i][$j].';';
}
$file_content .='
';
}
fwrite($fo, $file_content);
fclose($fo);
return $fcsv;
}