ボタンを押すと、order表にあるデータをexcelに出力する処理を実装しようとしているのですが
"Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].", exception: "InvalidArgumentException", file: とエラーが表示され出力されません。どなたか手を貸していただけないでしょうか?
ちなみにhttps://reffect.co.jp/laravel/laravel_excel_master#Exportを参考に作っています。
またlaravelのバージョンは6.5.1です。
OrderExport
1<?php 2 3namespace App\Exports; 4 5use App\Order; 6use Maatwebsite\Excel\Concerns\FromCollection; 7 8 9class OrdersExport implements FromCollection 10{ 11 /** 12 * @return \Illuminate\Support\Collection 13 */ 14 public function collection() 15 { 16 return Order::all(); 17 } 18} 19
OrderController
1<?php 2 3namespace App\Http\Controllers; 4use Illuminate\Support\Facades\DB; 5use Illuminate\Http\Request; 6//EXCEL 7use Maatwebsite\Excel\Facades\Excel; 8use App\Exports\OrdersExport; 9 10class OrderController extends Controller 11{ 12 .... 13 //excelにインポート 14 public function export(){ 15 16 return Excel::download(new OrdersExport, 'orders.xlsx'); 17 18 } 19 20}
ordermodel
1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6 7class Order extends Model 8{ 9 10 public function orderstates(){ 11 return $this->belongsTo(Orderstates::class,'state_id'); 12 } 13 14 public function payment(){ 15 return $this->belongsTo(Payment::class,'payment_id'); 16 } 17 18 public function shipping(){ 19 return $this->belongsTo(Shipping::class,'shipping_id'); 20 } 21 22 public function orderdetail(){ 23 return $this->hasMany('App\Orderdetail'); 24 } 25} 26
component
1<template> 2 <div class="container"> 3 <title-component> 4 <span slot="title">Day Sales</span> 5 <span slot="subtitle">売上日計表</span> 6 </title-component> 7 8 <div class="row my-3"> 9 <div class="col-5"> 10 <button v-on:click="excelExport">Excelに出力</button> 11 </div> 12 </div> 13 </div> 14</template> 15 16<script> 17import moment from "moment"; 18export default { 19 }, 20 methods:{ 21 //excelに出力(現在は全データを出力している) 22 excelExport(){ 23 axios.get('/api/order/export').then(function(response){ 24 }).catch(function(error){ 25 // The request was made and the server responded with a status code 26 // that falls out of the range of 2xx 27 console.log(error.response.data); 28 console.log(error.response.status); // 例:400 29 console.log(error.response.statusText); // Bad Request 30 console.log(error.response.headers); 31 }); 32 } 33 } 34} 35</script>
api.php
1 Route::get('order/export', 'OrderController@export');
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。