Я только что обновил Laravel 5.4 до 5.5, и теперь мне нужно изменить всю кодировку, в которой использовался старый Laravel -Excel.
Я использую php 7.2.25, Windows / Wamp.
Я пытаюсь загрузить файл Excel, получить его данные, сделать много проверок и вычислений на нем (пока не в коде), а затем создать новый файл Excel и дать пользователю Windows Параметр «Сохранить файл».
- Не знаете, как открыть окно сохранения файла Windows, объяснений в документации нет.
1.1 Если Я не могу получить Windows окно сохранения файла, я не уверен, как установить путь к: Мои документы \ test, например.
С кодом, который я имею, я получаю эту ошибку:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_RECOVERABLE_ERROR) Ошибка типа: Возвращаемое значение Maatwebsite \ Excel \ Sheet :: mapArraybleRow () должен иметь тип массива, возвращаемая строка
Код класса My Import:
namespace App\Imports;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use App\Exports\TimesheetsExport;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Facades\Excel;
use App\User;
class TimesheetsImport implements ToCollection, WithHeadingRow
{
private $user;
public function __construct($param)
{
$this->user = $param;
}
public function collection(Collection $rows)
{
$data = new Collection([$this->user->fullName()]);
foreach ($rows as $row)
{
$data->put($row['date'], $row['in'], $row['out']);
}
return Excel::download(new TimesheetsExport($data), 'testtttt.xlsx');
Класс My Export:
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Support\Collection;
class TimesheetsExport implements FromCollection
{
protected $rows;
public function __construct(Collection $rows)
{
$this->rows = $rows;
}
public function collection()
{
return $this->rows;
}
}
Может кто-нибудь помочь?