0

我目前正在使用 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();
4

1 回答 1

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 文档以了解可用于上传文件的不同方法。

于 2015-01-15T03:14:11.080 回答