【问题标题】:Laravel Excel can't download and exportLaravel Excel 无法下载和导出
【发布时间】:2016-08-20 10:45:39
【问题描述】:

我的代码是从网站上复制的。

Excel::create('Filename', function($excel) {

// Set the title
$excel->setTitle('Our new awesome title');

// Chain the setters
$excel->setCreator('Maatwebsite')
      ->setCompany('Maatwebsite');

  // Call them separately
  $excel->setDescription('A demonstration to change the file properties');
})->download('xls');

我成功下载了一次。

但是另一个尝试是错误的。

错误信息是这样的。

Whoops, looks like something went wrong.

FatalErrorException in LaravelExcelWriter.php line 263:


Call to a member function getMergeCells() on a non-object
in LaravelExcelWriter.php line 263

【问题讨论】:

    标签: laravel download export phpexcel laravel-excel


    【解决方案1】:
    •   Write following in cmd
    composer require Maatwebsite/excel
    •   after install /run upper composer........Maalwebsite/excel successfully check in composer.json that 
    
    "require": {
            "php": ">=5.5.9",
            "laravel/framework": "5.2.*",
            "laravelcollective/html": "5.2.*",
            "Maatwebsite/excel": "^2.1"
        },
    
    •   config/app.php/ in provides
    Maatwebsite\Excel\ExcelServiceProvider::class,
    •   config/app.php/ in alias
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    •   php artisan vendor:publish
    •   php artisan make:controller ExcelController
    •   open excel then create first_name,last_name,sex,email,phone then store datas and save as .csv
    •   in controlller for import
    
    use App\Customer;
    use Input;
    use DB;
    use Excel;
    
    class ExcelController extends Controller
    {
        //
       public function getImport()
       {
            return view('excel.importCustomer');
       }
    
        public function postImport()
        {
            Excel::load(Input::file('customer'),function($reader){
    
         $reader->each(function($sheet){
            Customer::firstOrCreate($sheet->toArray());
            });
         });
        }
    }
    •   in routes for import
    
    Route::get('/getImport','ExcelController@getImport');
    Route::post('/postImport','ExcelController@postImport');
    •   In controller for export
    
        public function getExport()
        {
            $export=Customer::all();
            Excel::create('Export Data',function($excel) use ($export){
                $excel->sheet('Sheet 1',function($sheet) use ($export){
                    $sheet->fromArray($export);
                });
            })->export('xlsx');
      }
    

    【讨论】:

    • 对于导出,您可以使用该公共函数 getExport() { $export=Customer::all(); Excel::create('导出数据',function($excel) 使用 ($export){ $excel->sheet('Sheet 1',function($sheet) 使用 ($export){ $sheet->fromArray($出口); }); })->出口('xlsx'); }
    • 你的模型是 LaravelExcelWriter.php 吗??
    • 你做了以下步骤吗(1) 在cmd composer require Maatwebsite/excel (2) 安装/run upper composer........ Maalwebsite/excel 成功签入composer。 “需要”的json:{“php”:“>=5.5.9”,“laravel/framework”:“5.2.*”,“laravelcollective/html”:“5.2.*”,“Maatwebsite/excel”:“ ^2.1" }, (3) config/app.php/ in 提供 Maatwebsite\Excel\ExcelServiceProvider::class, (4) config/app.php/ in alias 'Excel' => Maatwebsite\Excel\Facades\Excel::类,(5) php artisan vendor:publish
    • 谢谢!我知道为什么
    • 您认为我的答案正确吗?你能破坏它吗?
    【解决方案2】:

    我知道原因。

    因为在我的情况下没有任何工作表。

    但是这张纸是必须的。

    谢谢。

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 2019-08-08
      相关资源
      最近更新 更多