我目前正在使用Laravel和内置的AJAX框架在OctoberCMS中开发。
提交表单后,我试图以CSV格式捕获数据并最终将其加载到数据库中。我正在使用Laravel Excel v1.2.2并且我编写的代码只有在我引用URL时将CSV加载到服务器时才有效。我需要这个来代替加载从表单中捕获的CSV。这是我的代码:
Excel::load('my/url.xlsx' function($archive)
{
$result = $archive->get();
foreach($result as $key => $value)
{
echo $value-> //Echoing some values here
}
})->get();
答案 0 :(得分:1)
我遇到了尝试使用Laravel-Excel上传到API端点的相同问题。为了我的需要,我妥协并上传到临时目录并立即从那里读取。您的示例可能如下所示:
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。