Недавно мне понадобилось перенести информацию из excel-файла в базу данных. Для этого я использовал класс Spreadsheet_Excel_Reader. Это php-класс, который создан для чтения excel-документов. Простой пример ниже иллюстрирует работу класса.

<?php
require_once ('/excel/reader.php'); // подключаем класс

$Excel = new Spreadsheet_Excel_Reader(); // создаем объект
$Excel->setOutputEncoding('cp1251'); // устанавливаем кодировку
$Excel->read('filename.xls'); // открываем файл
$count = $Excel->sheets[0]['numRows']; // узнаем количество строк в 1 листе

// с помощью цикла выводим все ячейки
for ($rowNum = 1; $rowNum <= $count; $rowNum++) {
    echo $Excel->sheets[0]['cells'][$rowNum][1]; // 1 столбец
    echo $Excel->sheets[0]['cells'][$rowNum][2]; // 2 столбец
    echo $Excel->sheets[0]['cells'][$rowNum][3]; // 3 столбец
}
?>

Например, $Excel->sheets[0]['cells'][2][1] обращается к ячейке, которая находится в первом листе, 2 строка, 1 столбец. Если ваши данные находятся в 3 листе нужно писать $Excel->sheets[2] (нумерация начинается с нуля).

Скачать класс Spreadsheet_Excel_Reader