Как стать автором
Обновить

Комментарии 28

консольный просмотрщик вордовских документов — очень прикольно, раньше делал решение на COM
Сам использую phpExcelReader хороший и удобный проект, единственно но много памяти потребляет. Если с этим ограничение можно попробовать ExcelExplorer. он и работает побыстрей.
у меня небольшие файлы, так что пока проблем с производительностью и памятью не возникает, но за альтернативу спасибо!
www.eephp.com/purchase.php: ExcelExplorer платный, стоит 100 — 500 зелененьких, в зависимости от лицензии.
сорри не знал. у нас версия какого то очень лохматого года, но работает. Может оно когда то фриваре было.
А так phpExcelReader неудобен только если файлы становяться в районе 20 мег, там же вся структура файла сначала в память забивается :(
Юзать новый формат не представляется возможным в моем случае — потому что уже есть очень много файлов старого формата и работать с ними в любом случае нужно.
abiword кстати позволяет из командной строки конвертировать док в хтмл, после чего можно пропарсить немного и убить все кроме таблиц, что иногда бывает очень полезным
Консольный вьювер — трю вэй) Правда на хостинге могут запретить, а так выход на +
В этом году Microsoft зарелизила полное описание формата. Формат довольно замудренный, но написать простенький парсер для вытаскивания текста должно быть не особо сложно. Почитайте, там всё в принципе понятно, я правда особо не копал — нужды не было.
Я не знаю насколько надо быть крутым, чтобы написать «простенький парсер», ибо формат там дейстительно супермудреный…
Человеку надо вытащить ТОЛЬКО текст, как я понял. Для этого не надо обладать мозгом Вассермана — там в доке как раз есть секция посвящённая тексту и как его по-быстрому выдрать.
Все это хорошо и мудро, но мне не платят за написание парсеров, и для меня готовое решение в данном случае — самое лучшее. А за информацию спасибо — не знал (думал, только новые форматы офиса открыты).
Я ж не заставляю (:
спасибо за ссылку!
А я для ворда antiword использую
А что по поводу обратного процесса?
Знаю только поповоду PEAR::Spreadsheet_Excel_Writer

Подскажете что-то еще?
Документ Excel можно сохранить в формате XML и подсмотреть его структуру, а затем повторить. Если выливать в поток, будет точно экономнее по памяти, возможно и быстрее.
Лично я видел, кроме этого, только какие-то платные аналоги. Мои же нужды PEAR::Spreadsheet_Excel_Writer покрывает с лихвой. Хотя, если память мне не изменяет, на phpclasses когда-то видел еще оригинальную либу — хэндлер потоков, позволяющий читать и писать в XLS (а может быть, в xlsx, не помню).
Тоже когда-то использовал подобный скрипт, может быть даже этот. Неприятным сюрпризом оказалась неспособность обрабатывать строки длиной более 250 символов, просто тупо ее обрезал.
Для вывода в эксель достаточно сохранить обычный ХТМЛ с расширением .xls
Там даже цвета сохраняются, вроде бы. Для простых таблиц лучше всего
По-моему это работает только в Виндусе ((
Что — это?
См. топик выше.

Разбор файлов MS Office на PHP.

Это очень полезная вещь, может кто-то сталкивался с ее реализацией на Unix?
Чтобы был именно PHP скрипт, не использующий сторонние пакеты, которые, как обычно, отсутствуют на большинстве хостинг-площадок.

Но топик все равно в избранное! Почти в каждом проекте требуют реализацию чтения .doc и .xls
эмм… если бы вы посмотрели топик — то увидели бы, что речь идет исключительно о *nix. Под виндовс есть COM и незачем городить огород. Но я еще раз повторю: для файлов Excel есть решения на чистом PHP, ссылка на одно из них приведена в топике. Для MS Word я такого решения не нашел и воспользовался консольной утилитой catdoc.
А что скажете по производительности такого подхода чтения doc файлов? Например, есть задача: реализовать поиск по файлам doc. Несколько файлов быстро обработает. А если файлов примерно гдето 20 000? Какое время выполнения будет такого скрипта?

ну, скажем так… если через PHP+catdoc будет тормозить (скорее всего, будет, но не уверен) — можно попробовать такой способ: пройтись по всем докам catdoc'ом и сложить результаты в отдельную папку. После этого поиск можно будет делать обычным grep'ом. А еще можно сложить тексты, вынутые из файлов catdoc'ом — в БД и использовать возможности поиска, которые она предоставляет. Либо через XMLPipe скормить тексты sphinx'у (ну, думаю, что и другие поисковые движки подойдут, просто я дял этих целей сфинкс использую).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации