php中Excel导出

下面是我在yii2.0项目中得一个model写的excel导出方法,仅供大家参考:
先在模型里引入use PHPExcel;

public static function exportData($data )  //$data是从数据库中读出来得所有数据
{
    $objectPHPExcel = new PHPExcel();
    $objectPHPExcel->setActiveSheetIndex(0);
    //表格头的输出
    $objectPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);//设置表头宽度,以及用到了多少列
    $objectPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15);
    $objectPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(15);

    //填入列表
    $k = 1;
    foreach ($data as $key => $value) {   //循环数据,将数据一一写到excel中
        $k++;
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '时间');  //设置表头标题,也就是这对这一列得命名
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B1', '启动用户');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('C1', '新增启动');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('D1', '登录用户');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('E1', '新增登录');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('F1', '注册量');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('G1', '试用量');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('H1', '包月订单');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('I1', '包月金额');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('J1', '包年订单');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('K1', '包年金额');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('L1', '总订单数');
        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('M1', '总金额数');
        $objectPHPExcel->getActiveSheet()->setCellValue('A' . ($k), $value['pay_day']);   //将数据依次存到表中
        $objectPHPExcel->getActiveSheet()->setCellValue('B' . ($k), $value['active_device_uv']);
        $objectPHPExcel->getActiveSheet()->setCellValue('C' . ($k), $value['new_device_uv']);
        $objectPHPExcel->getActiveSheet()->setCellValue('D' . ($k), $value['login_uv']);
        $objectPHPExcel->getActiveSheet()->setCellValue('E' . ($k), $value['increment_uv']);
        $objectPHPExcel->getActiveSheet()->setCellValue('F' . ($k), $value['user']);
        $objectPHPExcel->getActiveSheet()->setCellValue('G' . ($k), $value['trial']);
        $objectPHPExcel->getActiveSheet()->setCellValue('H' . ($k), $value['month_order']);
        $objectPHPExcel->getActiveSheet()->setCellValue('I' . ($k), $value['month_revenue']);
        $objectPHPExcel->getActiveSheet()->setCellValue('J' . ($k), $value['year_order']);
        $objectPHPExcel->getActiveSheet()->setCellValue('K' . ($k), $value['year_revenue']);
        $objectPHPExcel->getActiveSheet()->setCellValue('L' . ($k), $value['total_order']);
        $objectPHPExcel->getActiveSheet()->setCellValue('M' . ($k), $value['total_revenue']);

    }
    $objWriter = PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel2007');
    $addr = 'C:';
    $objWriter->save($addr . '\基础数据' . '.xlsx'); //保存到C盘下面,在c盘中就可以看到数据信息了
}

猜你喜欢

转载自blog.csdn.net/misslee123456/article/details/86626099