使用 laravel 和 vuejs 导出 Excel

Posted

技术标签:

【中文标题】使用 laravel 和 vuejs 导出 Excel【英文标题】:Excel Export using laravel with vuejs 【发布时间】:2019-11-11 03:42:51 【问题描述】:

我正在使用 Laravel 和 Vuejs 进行 Excel 导出,不知何故代码返回真值但无法下载 Excel 文件,如果我执行正常请求,它将下载文件,但在 axios 请求中,它不会导出文件

我正在使用 php artisan make:export 来导出文件

在 App/Export/studentexport.php 中

public function collection()

    return Student_master::all();

然后在控制器中我会做一个功能

public function export()

    return Excel::download(new StudentExport, 'users.xlsx');

在我的 Vue 文件中,我将编写一个调用控制器并导出文件的代码

axios.get('api/export')
            .then(()=>
                toast(
                    type: 'success',
                    title: 'Export the Data'
                )
            )
            .catch(()=> 
                toast(
                        type: 'warning',
                        title: 'Can not Export'
                        )
            )

但结果是这样的

这将返回 True,我真的不知道如何解决这个问题,请帮助我

【问题讨论】:

这可能对你有帮助***.com/questions/50736657/… 我可以试试这个,但不能解决这个问题..还有其他方法吗?? 【参考方案1】:

我觉得有点晚了,但我遇到了同样的问题,我刚刚解决了。

对于从 vuejs 下载文件,您不应该将请求作为 Axios 请愿书(至少我不知道)。相反,您可以在模板中使用 href 和 download 属性。

这是一个例子:

<a
    type="button"
    href="/api/export/entity/"
    download="file.xlsx"
>
    <button
        @click="export()"
        class="btn btn-primary"
    >
    Export
    </button>
</a>

如果您需要做其他事情,该方法会有所帮助。

希望对你有所帮助。

【讨论】:

对我有用【参考方案2】:

好的,我解决了这个问题,我使用 Vue-excel-export 包来导出 Excel 文件

enter link description here

这个链接可以帮助我安装和使用它

【讨论】:

以上是关于使用 laravel 和 vuejs 导出 Excel的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - Vuejs:删除重复的时间段

形成 laravel 和 vueJS

如何使用 laravel 和 vuejs 下载文件

使用 vuejs 和 laravel 在 URL 中传递参数

使用 Laravel 和 Vuejs 使用条形码扫描仪自动完成搜索

Laravel、惯性和 vuejs