Недавно передо мной была поставлена задача: вытащить некую информацию из файлов MS-office (.xls, .doc) для ее последующей обработки. По факту, нужно было вытащить текст, содержащийся в документе.
Для .xls быстро нашелся проект PhpExcelReader, и тут больше нечего сказать — смотрите код, гуглите, а я разве только могу дать несколько строк кода — в помощь:
Несколько сложнее поначалу оказалось с .doc'ами: мне просто не удалось найти бесплатного парсера на PHP, который бы не использовал COM (платных тоже как-то не попалось, но я все же искал именно бесплатный; кстати, если хабралюди знают о существовании такого проекта — милости прошу откомментировать).
Я уже совсем было отчаялся, когда вдруг решил посмотреть на .doc-файл с помощью консольной утилиты less. less пожаловалась на то, что "catdoc is not installed", я воспрял духом, набрал sudo apt-get install catdoc — и вуаля — в моих руках консольный просмотрщик вордовских документов. После этого осталось только написать:
Для .xls быстро нашелся проект PhpExcelReader, и тут больше нечего сказать — смотрите код, гуглите, а я разве только могу дать несколько строк кода — в помощь:
$reader = new Spreadsheet_Excel_Reader();
$reader->setUTFEncoder('iconv');
$reader->setOutputEncoding('UTF-8');
$reader->read($this->filename);
$text = "";
if ($reader->sheets && count($reader->sheets))
{
$sheet = $reader->sheets[0];
if (isset($sheet['cells']))
{
foreach ($sheet['cells'] as $row)
{
$text .= implode(' ', $row) . "\n";
}
}
}
echo $text;
* This source code was highlighted with Source Code Highlighter.
Несколько сложнее поначалу оказалось с .doc'ами: мне просто не удалось найти бесплатного парсера на PHP, который бы не использовал COM (платных тоже как-то не попалось, но я все же искал именно бесплатный; кстати, если хабралюди знают о существовании такого проекта — милости прошу откомментировать).
Я уже совсем было отчаялся, когда вдруг решил посмотреть на .doc-файл с помощью консольной утилиты less. less пожаловалась на то, что "catdoc is not installed", я воспрял духом, набрал sudo apt-get install catdoc — и вуаля — в моих руках консольный просмотрщик вордовских документов. После этого осталось только написать:
/**
* @note catdoc program should be installed and reside within $PATH!
*/
echo shell_exec('catdoc ' . escapeshellarg($this->filename));
* This source code was highlighted with Source Code Highlighter.