Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > php & word


Автор: Sukhof 12.12.2004, 14:08
Вот что мне удалось написать, но вот запарка:


<?
$word = new COM("word.application") or die("Не могу, черте что");
echo "Был загружен ВОРД, версии {$word->Version}\n";
$word->Visible = 1;
$word->Documents->Add();
$word->Selection->TypeText(" ЗАПАРКА ЗДЕСЬ "); // сюда надо вставить тот текст который хранится в файле, при этом там же хранятся и html теги
$word->Documents[1]->SaveAs("блаблабла.doc");
$word = null;?>


попробовал сделать так
$step = include '3.inc';
$word->Selection->TypeText("$step");

ШИШ не сработало, в ворде написало: include '3.inc'

Может кто подскажет как лучше сделать. Суть работы такова, когда вызываем 3.inc там хранится html таблица в ячейки которого проставляются значения из БД. Теперь всю эту байду надо сунуть в WORD для того чтобы ламерозные бухгалтера смогли что то подредактировать и вывести на печать.

Автор: Opik 12.12.2004, 17:08
не
Цитата
$step = include '3.inc';

а:
Код

$step = file_get_contents('3.inc');

Добавлено @ 17:09
$word->Selection->TypeText("$step"); - тут кавычки можно опустить:
Код

$word->Selection->TypeText($step);

Автор: Sukhof 13.12.2004, 11:24
Вот что он мне вернул. на php.net прочел про эту функцию вроде все правильно использую 4.3.0, где эта функция реализованна.
Fatal error: Call to undefined function: file_get_contents() in c:\


попробовал сделать так в начале кода вставил
Код

function file_get_contents($f) {
$files = '';
$aLines = file($f);
foreach ($aLines as $sLine):
$files .= $sLine;
endforeach;
return $files;
}


написал что не может редекларировать функцию

Fatal error: Cannot redeclare file_get_contents() in c:\


Добавлено @ 11:33
Стоп получилось, понял в чем ошибка.
Но вот вопрос все что было в файле весь код в т.ч. и php отобразило в вордовском файле.
Может есть другая функция которая позволит выполнить php код и результат отправить в word.

Автор: Opik 13.12.2004, 12:07
Попробуй тогда так:
Код

<?
// тут всякий код
ob_start();
include('file.php');
$step = ob_get_clean();
ob_end_flush();
$word->Selection->TypeText($step);
// и тут код :)
?>

Автор: Sukhof 13.12.2004, 13:18
Написал, но он открыл пустой документ в ворде.

а там где //тут всякий код
какой код вставляется тот который надо экспортировать

Автор: IZ@TOP 13.12.2004, 14:29
Код
<?
// тут всякий код
ob_start();
include('file.php');
$step = ob_get_content();
ob_end_clean();
$word->Selection->TypeText($step);
// и тут код :)
?>


Надо делать так.

Автор: Opik 13.12.2004, 16:57
IZ@TOP
Мой вариант рабочий 100%
http://ee.php.net/manual/en/function.ob-get-clean.php
+ в конце у меня закрытие.

Автор: IZ@TOP 13.12.2004, 18:34
Opr, сорри мне показалось что там было ob_end_clean smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)