Возникла такая задача, помогите, пожалуйста, решить.
Дано: шаблонные файлы .doc с таблицами.
Надо: поместить их содержимое в MySQL-базу посредством php-скрипта (возможно, и каким-нибудь другим способом).
Нашел небольшой скрипт, который возвращает содержимое файла в линейном виде. Из него, я так понимаю, не очень сложно сделать парсер для импорта. Но скрипт не распознает украинские, немецкие, французские буквы с диакритикой, показывает вместо них квадратики да звездочки. Если ли возможность решить эту проблему?
Еще вопросы:
— есть ли уже готовые решения сей задачи? Гуглил много, но пока безуспешно для Word 2003. Нашел EMS Data Import и DBA Central, ничем не помогли.
— можно ли с помощью php получить прямой доступ к компонентам word-документа, аналогично VBA? типа $xxx=ActiveDocument.Tables(1).Cells(1,1).Value ?
Спасибо за внимание.
PS. php5, apache1.3,windows XP
Спустя 4 минуты, 27 секунд (3.07.2008 - 15:21) 440hz написал(а):
вопрос не в том как сохранить эти шаблоны. в базе или еще где, а что потом с ними делать...
так что ты с ними хочешь потом делать? отсюда и решение будет.
так что ты с ними хочешь потом делать? отсюда и решение будет.
Спустя 6 минут, 47 секунд (3.07.2008 - 15:28) Angel_29 написал(а):
Я неправильно выразился. Есть доки с таблицами, которые заполнялись вручную. Просто у них одинаковая верстка, отсюда я вообще и упомянул шаблоны. Данные из этих таблиц нужно внести определенным образом в базу по разным таблицам. Вопрос в том, как средствами PHP извлечь данные из Word, ведь если открыть doc-файл в блокноте, чистого текста там не увидишь.
Спустя 5 дней, 4 часа, 6 минут, 37 секунд (8.07.2008 - 19:35) redow написал(а):
из doc вытянуть данные посредством стандартных(популярных) модулей пхп невозвожно.
можно очень легко распарсить xml (из Exel) и потом все что угодно делать с данными.
думаю, вам стоит перейти на exel для экономии времени с таким скриптом.
можно очень легко распарсить xml (из Exel) и потом все что угодно делать с данными.
думаю, вам стоит перейти на exel для экономии времени с таким скриптом.
Спустя 3 года, 8 месяцев, 3 дня, 23 часа, 13 минут, 54 секунды (12.03.2012 - 18:49) born написал(а):
позволю себе "реанимировать" тему, дабы не создавать новую.
Столкнулся вот с какой ситуацией.
Есть .doc файл, который содержит много текста, списки, таблицы в принципе с единой структурой - что-то вроде отчета. Грубо говоря - вопрос-ответ.
Моя последовательность действий понимаю, что сугубо ламерская, но она работает (пусть и не совсем оптимально).
Открываю .doc файл в ворде - сохранить как, формат txt, кодировка utf-8. Далее работаем в блокноте (и вручную!!! (это самое ужасное) приходится перед каждым абзацем (а текст сохраняется грубо говоря подряд) ставить <p class="x">. Этому классу я задаю text-indent:35px; чем добиваюсь отображения абзацев при выводе на экран и ряд иных параметров).
Вопрос от ответа отбиваю пустыми строками - и посредством php разбиваю на чет/нечет (вопрос/ответ) - и записываю в MySQL.
в итоге я имею в БД не просто текст, а текст с соответствующими html тегами (<p>, <ul>,<li> и т д). В принципе все красиво и все работает...
Но всяко же имеется более простой способ решится данную задачу?
пробовал при сохранении из word ставить разрывы строк и потом автозамены... но успех не пришел(...
заранее благодарю за рецепт.
Столкнулся вот с какой ситуацией.
Есть .doc файл, который содержит много текста, списки, таблицы в принципе с единой структурой - что-то вроде отчета. Грубо говоря - вопрос-ответ.
Моя последовательность действий понимаю, что сугубо ламерская, но она работает (пусть и не совсем оптимально).
Открываю .doc файл в ворде - сохранить как, формат txt, кодировка utf-8. Далее работаем в блокноте (и вручную!!! (это самое ужасное) приходится перед каждым абзацем (а текст сохраняется грубо говоря подряд) ставить <p class="x">. Этому классу я задаю text-indent:35px; чем добиваюсь отображения абзацев при выводе на экран и ряд иных параметров).
Вопрос от ответа отбиваю пустыми строками - и посредством php разбиваю на чет/нечет (вопрос/ответ) - и записываю в MySQL.
в итоге я имею в БД не просто текст, а текст с соответствующими html тегами (<p>, <ul>,<li> и т д). В принципе все красиво и все работает...
Но всяко же имеется более простой способ решится данную задачу?
пробовал при сохранении из word ставить разрывы строк и потом автозамены... но успех не пришел(...
заранее благодарю за рецепт.
Спустя 1 час, 18 минут, 46 секунд (12.03.2012 - 20:07) caballero написал(а):
Цитата |
Но всяко же имеется более простой способ решится данную задачу? |
имеется более правильный способ решения но он не простой. Поднять ворд как OLE сервер через COM интерфейс
Спустя 59 минут, 6 секунд (12.03.2012 - 21:07) born написал(а):
я почти все понял конечно:)