PHP 将数据导出到Excel

来源:互联网 发布:中心机房云计算 编辑:程序博客网 时间:2024/05/20 04:51
require_once 'PHPExcel/PHPExcel.php';//下载PHPExcel
/** * 导出Excel * @param $data Array 导出的数据 */function expUser($data){    // 创建一个处理对象实例     $objExcel = new \PHPExcel();    // 创建文件格式写入对象实例, uncomment     $objProps = $objExcel->getProperties();    //设置创建者    $objProps->setCreator('admin');    //描述    $objProps->setDescription("pprt");    $objActSheet = $objExcel->getActiveSheet();    //单元格赋值     $objActSheet->setCellValue('A1', 'imei号');  // 字符串内容      $objActSheet->setCellValue('B1', '日期');    $objActSheet->setCellValue('C1', '消耗电量');    $objActSheet->setCellValue('D1', '文件大小');    $objActSheet->setCellValue('E1', '有效时间');    $objActSheet->setCellValue('F1', '包率');    $num = 1;    foreach ($data as $k => $v) {        $temp_date_arr = $v;        foreach ($temp_date_arr as $key_date => $val_date){            $num = $num + 1;            $objActSheet->setCellValueExplicit('A' . $num, $k, PHPExcel_Cell_DataType::TYPE_STRING);            $objActSheet->setCellValueExplicit('B' . $num, $key_date, PHPExcel_Cell_DataType::TYPE_STRING);            $objActSheet->setCellValueExplicit('C' . $num, $val_date['total_use'].'%', PHPExcel_Cell_DataType::TYPE_STRING);            $objActSheet->setCellValueExplicit('D' . $num, $val_date['total_size'], PHPExcel_Cell_DataType::TYPE_STRING);            $objActSheet->setCellValueExplicit('E' . $num, $val_date['total_time'], PHPExcel_Cell_DataType::TYPE_STRING);            $objActSheet->setCellValueExplicit('F' . $num, $val_date['pack_rate'], PHPExcel_Cell_DataType::TYPE_STRING);            //设置行的属性            $objActSheet->getRowDimension($num)->setRowHeight('20px');//设置行高            $objActSheet->getColumnDimension('F')->setAutoSize(true);//设置自动宽度        }        $num = $num + 1;    }    //设置行的属性    $objActSheet->getRowDimension(1)->setRowHeight('20px');//设置行高    //设置列的属性    $objActSheet->getColumnDimension("A")->setWidth('20px'); // 设置宽度    $objActSheet->getColumnDimension("B")->setWidth('20px'); // 设置宽度    $objActSheet->getColumnDimension("C")->setWidth('20px'); // 设置宽度    $objActSheet->getColumnDimension("D")->setWidth('20px'); // 设置宽度    $objActSheet->getColumnDimension("E")->setWidth('20px'); // 设置宽度    $objActSheet->getColumnDimension("F")->setWidth('20px'); // 设置宽度    //导出的文件名    $outputFileName = iconv('UTF-8', 'gb2312', 'imei_' . time() . '.xls');    //直接导出文件    // PHPExcel_IOFactory::createWriter($objExcel, 'Excel5')->save($outputFileName);    //文件直接输出到浏览器    header('Pragma:public');    header('Expires:0');    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');    header('Content-Type:application/force-download');    header('Content-Type:application/vnd.ms-excel');    header('Content-Type:application/octet-stream');    header('Content-Type:application/download');    header('Content-Disposition:attachment;filename=' . $outputFileName);    header('Content-Transfer-Encoding:binary');    PHPExcel_IOFactory::createWriter($objExcel, 'Excel5')->save('php://output');    //设置对齐方式    $objStyleA3 = $objActSheet->getStyle('A3');    $objAlignA3 = $objStyleA3->getAlignment();    $objAlignA3->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);    $objAlignA3->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);}