>  기사  >  백엔드 개발  >  LaravelExcel을 사용하여 Laravel5에서 파일 내보내기 기능 구현

LaravelExcel을 사용하여 Laravel5에서 파일 내보내기 기능 구현

不言
不言원래의
2018-05-08 10:51:524904검색

이 글은 주로 Laravel5에서 파일 내보내기 기능을 구현하기 위해 LaravelExcel을 사용하는 방법을 소개합니다. 이는 어느 정도 참고할만한 가치가 있습니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다.

Laravel5에서 Laravel/Excel을 사용하여 Excel을 구현합니다. /CSV 파일 내보내기 기능

1. 설치
여기서 maatwebsite/excel

composer require "maatwebsite/excel:~2.1.0"

버전 2.1.0을 설치했습니다. config/app.php의 공급자 배열에 서비스 공급자를 등록하세요.

Maatwebsite\Excel\ExcelServiceProvider::class,

또한 config/ app.php의 별칭 배열에 Facade를 등록합니다:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

Laravel Excel에 대해 더 많은 사용자 정의 구성을 구성하려면 다음 Artisan 명령을 실행하십시오:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

2. 데이터 내보내기

라우팅 추가

// excel exportRoute::get('/monitor/export','Admin\ExcelController@export')->name('monitor.export');

생성 컨트롤러

php artisan make:controller Admin/ExcelController

컨트롤에 일부 코드 추가

<?php
namespace App\Http\Controllers\Admin;use Illuminate\Http\Request;
use App\Http\Controllers\Controller;use Excel;use App\Models\Monitor;
use App\Exports\CunliangExport;class ExcelController extends Controller
{
    public function export()
    {
        //return Excel::download(new CunliangExport, &#39;invoices.xlsx&#39;);
        $data = Monitor::get()->toArray();        
        return Excel::create(&#39;数据更新&#39;, function($excel) use ($data) {
            $excel->sheet(&#39;数据更新&#39;, function($sheet) use ($data)
            {
                $sheet->cell(&#39;A1&#39;, function($cell) {$cell->setValue(&#39;update_date&#39;);   });                
                $sheet->cell(&#39;B1&#39;, function($cell) {$cell->setValue(&#39;file_type&#39;);   });                
                $sheet->cell(&#39;C1&#39;, function($cell) {$cell->setValue(&#39;file_num&#39;);   });                
                $sheet->cell(&#39;D1&#39;, function($cell) {$cell->setValue(&#39;space_size&#39;);   });                
                $sheet->cell(&#39;E1&#39;, function($cell) {$cell->setValue(&#39;exec_time&#39;);   });                
                $sheet->cell(&#39;F1&#39;, function($cell) {$cell->setValue(&#39;created_at&#39;);   });                
                if (!empty($data)) {                    
                foreach ($data as $key => $value) {                        
                $i= $key+2;                        
                $sheet->cell(&#39;A&#39;.$i, $value[&#39;update_date&#39;]);                        
                $sheet->cell(&#39;B&#39;.$i, $value[&#39;file_type&#39;]);                        
                $sheet->cell(&#39;C&#39;.$i, $value[&#39;file_num&#39;]);                        
                $sheet->cell(&#39;D&#39;.$i, $value[&#39;space_size&#39;]);                        
                $sheet->cell(&#39;E&#39;.$i, $value[&#39;exec_time&#39;]);                        
                $sheet->cell(&#39;F&#39;.$i, $value[&#39;created_at&#39;]);
                    }
                }
            });
        })->download(&#39;xlsx&#39;);
    }
}

블레이드 템플릿 파일에 다음 코드 추가

.
.
.<p class="box-header">
    <a class="btn btn-success" href="{{route(&#39;monitor.export&#39;)}}">导出</a></p>.
.
.

필요에 따라 변경하세요.

관련 권장사항:


Laravel5는 퍼지 일치 기능을 구현합니다

Laravel5.5의 새로운 기능 오류 보고

위 내용은 LaravelExcel을 사용하여 Laravel5에서 파일 내보내기 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Redis 간단한 예다음 기사:Redis 간단한 예