最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • PHPExcel-Helper快速构建Excel

    正文概述 转载于:掘金(田园狼)   2021-01-08   395

    项目介绍

    phpExcel-Helper是什么?

    PHPExcel辅助开发类,帮助开发者快速创建各类excel。

    github

    PHPExcel-Helper存在的意义?

    官方phpexcel库功能全面,但其调用有些繁琐,一个简单的表格导出可能需要写上几十行代码,本库将phpexcel中常用的方法配置进行封装,并添加了一些常用的业务支持,通常几行代码即可实现一个导出功能。

    在实际开发中很容易的可以将数据库中查询出来的列表配置导出。

    安装教程

    使用 composer 安装,依赖 phpexcel

    $ composer require whalephp/phpexcel-helper
    

    Demo

    demo 1:简单表格
    <?php 
    include './vendor/autoload.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    $list = array(
    		array('id'=>1,'name'=>'a'),
    		array('id'=>2,'name'=>'b'),
    		array('id'=>3,'name'=>'c'),
    		array('id'=>4,'name'=>'c'),
    );
    $key = array(
    		'id'	=> '编号',
    		'name'	=> '姓名',
    );
    $ToolExcel->exportExcelSimp('简版测试',$key,$list);
    

    PHPExcel-Helper快速构建Excel

    demo 2:跨行跨列表格
    <?php 
    include './vendor/autoload.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    $data = array(
    		'file_name'	=> '测试-跨行跨列',
    		'sheetInfo'	=> array(
    				'sheetIndex'	=> 0,
    				'sheetTitle'	=> '订单汇总',
    		),
    		'startCell'	=> array(					//开始写入位置
    				'row'=>1,
    				'col'=>1
    		),
    		'cellData'	=> array(
    				array(
    						array(
    								'val'		=> 'A1',
    								'rowspan'	=> 2,		//跨行数
    								'colspan'	=> 2,		//跨列数
    								'remarks'	=> '备注1',
    						),
    						array(
    								'val'		=> 'B1',	//
    								'rowspan'	=> 2,		//跨行数
    								'colspan'	=> 2,		//跨行数
    						),
    						array(
    								'val'		=> 'C1',
    								'colspan'	=> 2,
    						),
    						array(
    								'val'		=> 'D1',	//
    								'colspan'	=> 2,
    						),
    						array(
    								'val'		=> 'A1',
    								'rowspan'	=> 2,		//跨行数
    								'colspan'	=> 2,		//跨列数
    								'remarks'	=> '备注1',
    						),
    						array(
    								'val'		=> 'C1',
    								'colspan'	=> 2,
    						),
    						array(
    								'val'		=> 'D1',	//
    								'colspan'	=> 2,
    						),
    				),
    				array(
    						array(
    								'val'		=> '1',
    						),
    						array(
    								'val'		=> '2',
    						),
    						array(
    								'val'		=> '3',
    						),
    						array(
    								'val'		=> '4',
    						),
    						array(
    								'val'		=> '5',
    						),
    						array(
    								'val'		=> '6',
    						),
    				),
    				array(
    						array(
    								'val'		=> 'a',
    						),
    						array(
    								'val'		=> 'b',	//
    						),
    				),
    
    		),
    );
    
    $ToolExcel->exportExcel($data);
    

    PHPExcel-Helper快速构建Excel

    demo 3:指定列宽
    <?php 
    include '../vendor/autoload.php';
    include '../src/PHPExcelHelper.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    $list = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa'),
        array('id'=>2,'name'=>'b','nickname'=>'bb'),
        array('id'=>3,'name'=>'c','nickname'=>'cc'),
        array('id'=>4,'name'=>'d','nickname'=>'dddddddddddddddddddddddddddddddd'),
    );
    $key = array(
        'id'	    => ['编号',10],
        'name'	    => ['姓名',15],
        'nickname'	=> ['昵称',35],
    );
    $ToolExcel->exportExcelSimp('简版测试',$key,$list);
    

    PHPExcel-Helper快速构建Excel

    demo 4:指定sheet信息
    <?php 
    include '../vendor/autoload.php';
    include '../src/PHPExcelHelper.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    $list = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa'),
        array('id'=>2,'name'=>'b','nickname'=>'bb'),
        array('id'=>3,'name'=>'c','nickname'=>'cc'),
        array('id'=>4,'name'=>'d','nickname'=>'dddddddddddddddddddddddddddddddd'),
    );
    $key = array(
        'id'	    => ['编号',10],
        'name'	    => ['姓名',15],
        'nickname'	=> ['昵称',35],
    );
    $ToolExcel->exportExcelSimp([
        'file_name'     => '简版测试',
        'sheetTitle'    => '工作区一',
    ],$key,$list);
    

    PHPExcel-Helper快速构建Excel

    demo 5:多sheet
    <?php 
    include '../vendor/autoload.php';
    include '../src/PHPExcelHelper.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    
    // 第一组数据
    //--------------------------------------------------------------
    $list = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa'),
        array('id'=>2,'name'=>'b','nickname'=>'bb'),
        array('id'=>3,'name'=>'c','nickname'=>'cc'),
        array('id'=>4,'name'=>'d','nickname'=>'dddddddddddddddddddddddddddddddd'),
    );
    $key = array(
        'id'	    => ['编号',10],
        'name'	    => ['姓名',15],
        'nickname'	=> ['昵称',35],
    );
    
    // 第二组数据
    //--------------------------------------------------------------
    $list_02 = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa2'),
        array('id'=>2,'name'=>'b','nickname'=>'bb2'),
        array('id'=>3,'name'=>'c','nickname'=>'cc2'),
        array('id'=>4,'name'=>'d','nickname'=>'ddddddddddddddddddd2'),
    );
    $key_02 = array(
        'id'	    => ['编号二',10],
        'name'	    => ['姓名二',15],
        'nickname'	=> ['昵称二',25],
    );
    
    $fileInfo = [
        'file_name'=>'简版测试',
        'sheet'=>[
            ['sheetIndex'=>0,'sheetTitle'=>'工作区一'],
            ['sheetIndex'=>1,'sheetTitle'=>'工作区二'],
        ]
    ];
    
    $ToolExcel->exportExcelSimp($fileInfo,[$key,$key_02],[$list,$list_02]);
    

    PHPExcel-Helper快速构建Excel

    demo 6:综合(更多配置、支持json字符串解析)
    <?php 
    include '../vendor/autoload.php';
    include '../src/PHPExcelHelper.php';
    
    $ToolExcel = new \whalephp\tool\PHPExcelHelper();
    
    // 第一组数据
    //--------------------------------------------------------------
    $list = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa'),
        array('id'=>2,'name'=>'b','nickname'=>'bb'),
        array('id'=>3,'name'=>'c','nickname'=>'cc'),
        array('id'=>4,'name'=>'d','nickname'=>'dddddddddddddddddddddddddddddddd'),
    );
    $key = array(
        'id'	    => ['编号',10],
        'name'	    => ['姓名',15],
        'nickname'	=> ['昵称',35],
    );
    
    // 第二组数据
    //--------------------------------------------------------------
    $list_02 = array(
        array('id'=>1,'name'=>'a','nickname'=>'aa2',                    'data'=>["a"=>"aaa","b"=>"bbb","c"=>"ccc"]),
        array('id'=>2,'name'=>'b','nickname'=>'bb2',                    'data'=>'{"a":"111","b":"222","c":"333"}'),
        array('id'=>3,'name'=>'c','nickname'=>'ddddddddddddddddddd2',   'data'=>'{"a":"aaa111","b":"bbb222","c":"ccc333"}'),
    );
    $key_02 = array(
        'id'	    => '编号二',
        'name'	    => ['姓名二',15],
        'nickname'	=> '昵称二',
        'data.a'	=> '节点a',
        'data.b'	=> 'data.b',
        'data'	    => [
            'title'     => '格式化数据',
            'width'     => 50,
            'parse_json'=> [
                'a' => '节点(a)',
                'b' => '节点(b)',
                'c' => '节点c',
            ]
        ],
        'data2'	    => [
            'title'     => '原始数据',
            'field'     => 'data',  // 对应数据中实际的字段键值
            'width'     => 40
        ]
    );
    
    $fileInfo = [
        'file_name' => '简版测试',
        'width' => 20,          // 指定默认宽度
        'sheet' => [
            ['sheetIndex'=>0,'sheetTitle'=>'工作区一'],
            ['sheetIndex'=>1,'sheetTitle'=>'工作区二'],
        ]
    ];
    
    $ToolExcel->exportExcelSimp($fileInfo,[$key_02,$key],[$list_02,$list]);
    

    PHPExcel-Helper快速构建Excel


    起源地下载网 » PHPExcel-Helper快速构建Excel

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元