#laravel #ms-word #export #laravel-blade
#laravel #ms-word #экспорт #laravel-blade
Вопрос:
Я хочу добавить функциональность экспорта в word к одному из моих блейдов в Laravel. Я использовал этот пакет.
composer require phpoffice/phpword
Мой контроллер, включая функции экспорта в word, приведен ниже. Когда пользователь вставляет obj_id в блейд-форму, контроллер получает имя и фамилию из таблицы hrp1702. Экспорт в word происходит внутри контроллера. Однако я хочу добавить эту функциональность в блейд. Возможно ли это?
Это контроллер
public function work(Request $bb)
{
$cc = $bb -> get('obj_id');
$m = DB::table('hrp1702') -> where('object_id', $cc)->value('first_name');
$n = DB::table('hrp1702') -> where('object_id', $cc)->value('last_name');
$wordTest = new PhpOfficePhpWordPhpWord();
$newSection = $wordTest->addSection();
$newSection->addText('FIRST NAME: '.$m);
$newSection->addText('LAST NAME: '.$n);
$objectWriter = PhpOfficePhpWordIOFactory::createWriter($wordTest, 'Word2007');
try
{
$objectWriter->save(storage_path('TestWordFile.docx'));
}
catch (Exception $e)
{
}
return response()->download(storage_path('TestWordFile.docx'));
}
}
Ниже вы можете увидеть блейд, который я хочу экспортировать в word. Это очень простой блейд, который берет первое и последнее имя из таблицы БД. Я хочу добавить к кнопке внизу, которая экспортирует в word по щелчку. Не внутри контроллера. Не могли бы вы помочь, пожалуйста?
<!DOCTYPE html>
<html lang="el">
<head>
<meta charset="UTF-8">
<title>Full Name</title>
</head>
<body>
First Name: <b> {{ $onoma }}</b><br>
Last Name: <b> {{ $epitheto }}</b><br>
<form method="post" action='/exagogi1'>
<input type="submit" value="Export to Word" />
</form>
</body>
</html>
Комментарии:
1. Привет @Konstantinos. Ваш вопрос в настоящее время довольно расплывчатый, поэтому вам сложно помочь. Можете ли вы показать нам, что вы пробовали? Вы получаете сообщение об ошибке? Так что это не подходящее место для вопроса «Как мне это сделать?» вопросы.
2. Привет, Эйкен. На самом деле я хочу добавить экспорт в word к этому блейду. На самом деле я хочу сделать следующее youtube.com/watch?v=iqCOgIzoNpQamp;t=198s но это не работает в фреймворках (я добавил соответствующий код в контроллер, но не работает.