Получить данные из CSV из поданной формы, используя laravel

В настоящее время я занимаюсь разработкой в ​​OctoberCMS, которая использует Laravel и встроенную среду AJAX.

После отправки формы я пытаюсь собрать данные в CSV и в конечном итоге загрузить их в базу данных. я использую Laravel Excel v1.2.2 И код, который я написал, будет работать, только если CSV загружен на сервер, когда я ссылаюсь на URL. Мне нужно это, чтобы вместо этого загрузить CSV, который захвачен из формы. Вот мой код:

Excel::load('my/url.xlsx' function($archive)
{
$result = $archive->get();

foreach($result as $key => $value)
{
echo $value-> //Echoing some values here
}
})->get();

0

Решение

Я столкнулся с той же проблемой, пытаясь загрузить на конечную точку API с помощью Laravel-Excel. Для моих нужд я скомпрометировал и загрузил во временный каталог и сразу же прочитал оттуда. Ваш пример может выглядеть примерно так:

if (Input::hasFile('file_from_form')) {
Input::file('file_from_form')->move('uploads/my', 'url.xls'); // Moves to /public/uploads/my/url.xls
}

Excel::load('uploads/my/url.xls' ,function($archive)
{
$result = $archive->get();

foreach($result as $key => $value)
{
echo $value-> //Echoing some values here
}
})->get();

Вы можете удалить временные файлы после того, как вы сделали, если хотите. Я бы не стал все это хранить в одном месте, но сделал это просто для упрощения демонстрации. Для меня я проверил и перехватил входные данные от контроллера, а затем передал их в класс обработчика для чтения и обработки данных файлов.

Увидеть Laravel docs для разных методов доступны загружаемые файлы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]