zoukankan      html  css  js  c++  java
  • laravel5.5 excel扩展包的安装和使用

    (文章引用来源 http://www.cnblogs.com/djwhome/p/9322112.html   有自己的补充用于记录)

    (在此次项目中,本人亲自尝试,标题中文无论如何转换(GBK、gb2312、utf-8)都不能正常读取。包括.xsl 文件中存在中文也不能正常读取。所以本人放弃了.xsl中的一切中文

    在项目开发中 最常用的就是把数据导出成excel的文件报表了

    然而新下的项目中啥也没有;没有excel的扩展

    会报这个错误

    然后你需要通过composer安装这个依赖

    学习源头:https://www.jianshu.com/p/4a2457efbf91

    excel官方文档:http://laravelacademy.org/post/2024.html

    1,使用Composer安装依赖


    在Laravel项目根目录下使用Composer安装依赖:

    composer require maatwebsite/excel ~2.1

    ps:一定要加上~2.1!!!因为现在已经更新到3.0版本了,如果你不加的话,会安装最新的3.0版本!等运行时候就会报错,类似下面这样的报错

    SymfonyComponentDebugExceptionFatalThrowableError(E_ERROR)Call to undefined method MaatwebsiteExcelExcel::create(),


    2,安装后,修改设置

    在config/app.php中注册服务提供者到providers数组:

    MaatwebsiteExcelExcelServiceProvider::class,


    在config/app.php中注册门面到aliases数组:

    'Excel' => MaatwebsiteExcelFacadesExcel::class,


    3、测试Excel文件

    创建一个控制器ExcelController.php:

    php artisan make:controller ExcelController 


    然后在routes.php中定义相关路由:

    Route::get('excel/export','ExcelController@export');

    Route::get('excel/import','ExcelController@import');


    然后实现导出、导入功能:

    <?php

    namespace AppHttpControllers;

    use AppHttpRequests;

    use IlluminateHttpRequest;

    use AppHttpControllersController;

    use Excel;

    class ExcelController extends Controller

    {

        public function export()

        {

            $cellData = [

         ['id','name','number'],
        ['10001','AAAAA','99'],
        ['10002','BBBBB','92'],
        ['10003','CCCCC','95'],
        ['10004','DDDDD','89'],
        ['10005','EEEEE','96'],

            ];

            Excel::create('users',function($excel) use ($cellData){

                $excel->sheet('score', function($sheet) use ($cellData){

                    $sheet->rows($cellData);

                });

            })->store('xls')->export('xls');

        }

        public function import(){

            $filePath = 'storage/exports/users.xls';

            Excel::load($filePath, function($reader) {

                $data = $reader->all(); dd($data);

            });

            exit;

        }

    }


    如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx。

    store方法,将该Excel文件保存到服务器上,文件默认保存到storage/exports目录下,iconv()是为了防止文件名中文乱码。

    访问 http://youdemain/excel/export

    访问 http://youdemain/excel/import

  • 相关阅读:
    第12讲:数据库完整性
    第11讲:视图及其应用
    第10讲:利用SQL语言实现关系代数操作
    ArcEngine 坐标系转换
    [转]ArcGIS计算图斑的四邻坐标(XMin,XMax,YMin,YMax)
    oracle11g 修改字符集 修改为ZHS16GBK
    Oracle 全文索引相关命令
    SQL语句 递归
    流量操控之SSH隧道与端口转发
    VIM 常用操作
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/9968599.html
Copyright © 2011-2022 走看看