PHPExcel

最近因为项目需求需要把数据导出为excel表格,于是百度研究了一下PHPExcel手册,下面简洁记录一下tp5框架如何使用。

1.访问https://github.com/PHPOffice/PHPExcel 下载Classes,并将其改为PHPExcel

2.把文件夹粘贴到tp的vendor下

3.控制器引入类即可。

下面是基本导出代码,复杂的可以看手册,引用是一定注意路径,别忘了"\"

 function excel()
    {

        vendor("PHPExcel.PHPExcel");
        //实例化PHPExcel类
        $objPHPExcel = new \PHPExcel();
        //创建内置表
        $objSheet = $objPHPExcel->getActiveSheet();
        //设置内置表名称
        $objSheet->setTitle("客户信息");
        //设置单元格的宽度
        $objSheet->getColumnDimension('B')->setWidth(20);
        $objSheet->getColumnDimension('D')->setWidth(20);
        $objSheet->getColumnDimension('F')->setWidth(20);
        //设置单元格的格式
        $objSheet->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
        $objSheet->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
        $objSheet->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
        $objSheet->getStyle('F')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);

        //设置列的名字
        $objSheet->setCellValue("A1", "姓名")->setCellValue("B1", "电话")->setCellValue("C1", "楼盘")->setCellValue("D1", "录入时间")->setCellValue("E1", "录入人")->setCellValue("F1", "跟进时间");
        $result = input('param.');

        //获得将要填充的数据
        $datas = $result['excel'];
        $ans = array();
        foreach ($datas as $data) {
            $ans[] = $this->object_to_array(json_decode($data));
        }
        $j = 2;
        $length = count($data);
        $i = 0;
        foreach ($ans as $true_data) {

            $objSheet->setCellValue("A" . $j, $true_data['client_name'])
                ->setCellValueExplicit("B" . $j, $true_data['client_phone'], \PHPExcel_Cell_DataType::TYPE_STRING)
                ->setCellValue("C" . $j, $true_data['estate_name'])
                ->setCellValueExplicit("D" . $j, $true_data['enterer_time'], \PHPExcel_Cell_DataType::TYPE_STRING)
                ->setCellValue("E" . $j, $true_data['user_name'])
                ->setCellValueExplicit("F" . $j, $true_data['follow_up_time'], \PHPExcel_Cell_DataType::TYPE_STRING);
            
        //往下行写
            $j++;
        }
        //生成excel文件
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");
        //设置输出到浏览器的格式(Excel5)
        header('Content-Type: application/vnd.ms-excel');
        //设置输出到浏览器的excel文件的名字
        header('Content-Disposition: attachment;filename="客户信息.xls"');
        //禁止缓存
        header('Cache-Control: max-age=0');
        //输出
        $objWriter->save("php://output");

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值