博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP用phpexcel导出excel
阅读量:5942 次
发布时间:2019-06-19

本文共 4655 字,大约阅读时间需要 15 分钟。

hot3.png

public function haha($list){

 Vendor('PHPExcel.PHPExcel');

$objPHPExcel = new PHPExcel();

        $objPHPExcel->getProperties()->setCreator("ctos")

            ->setLastModifiedBy("ctos")

            ->setTitle("Office 2007 XLSX Test Document")

            ->setSubject("Office 2007 XLSX Test Document")

            ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")

            ->setKeywords("office 2007 openxml php")

            ->setCategory("Test result file");

        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(30);

        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);

        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);

        $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);

        $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(50);   

        //设置行高度

        $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(22);

        $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);

        //set font size bold

        $objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);

        $objPHPExcel->getActiveSheet()->getStyle('A2:G2')->getFont()->setBold(true);

        $objPHPExcel->getActiveSheet()->getStyle('A2:G2')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

        $objPHPExcel->getActiveSheet()->getStyle('A2:G2')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

        //设置水平居中

        $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

        $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);  

        //合并cell

        $objPHPExcel->getActiveSheet()->mergeCells('A1:J1');

        // set table header content

        $objPHPExcel->setActiveSheetIndex(0)

            ->setCellValue('A1', '消费数据统计:'.date('Y-m-d H:i:s'))

            ->setCellValue('A2', '关键词')

            ->setCellValue('B2', '排名')

            ->setCellValue('C2', '价格')

            ->setCellValue('D2', '用户名')

            ->setCellValue('E2', '网址')

            ->setCellValue('F2', '计费引擎')

            ->setCellValue('G2', '计费时间');      

        // Miscellaneous glyphs, UTF-8

        for($i=0;$i<count($list)-1;$i++){

            $objPHPExcel->getActiveSheet(0)->setCellValue('A'.($i+3), $list[$i]['keyword']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('B'.($i+3), $list[$i]['listnum']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('C'.($i+3), $list[$i]['money']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('D'.($i+3), $list[$i]['username']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('E'.($i+3), $list[$i]['website']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('F'.($i+3), $list[$i]['yinqing']);

            $objPHPExcel->getActiveSheet(0)->setCellValue('G'.($i+3), $list[$i]['addtime']);         

            $objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':G'.($i+3))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

            $objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':G'.($i+3))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

            $objPHPExcel->getActiveSheet()->getRowDimension($i+3)->setRowHeight(16);

        }

        //  sheet命名

        $objPHPExcel->getActiveSheet()->setTitle('消费列表');   

        // Set active sheet index to the first sheet, so Excel opens this as the first sheet

        $objPHPExcel->setActiveSheetIndex(0); 

        $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet

$objPHPExcel->setActiveSheetIndex(0);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

// Redirect output to a client’s web browser (Excel2007)

 /* 生成到浏览器,提供下载 */ 

ob_end_clean();  //清空缓存  

    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-execl");

    header("Content-Type:application/octet-stream");

    header("Content-Type:application/download");

    header('Content-Disposition:attachment;filename="1.xlsx"');

    header("Content-Transfer-Encoding:binary"); 

    $objWriter->save('php://output');

exit;

}

转载于:https://my.oschina.net/guomingliang/blog/206676

你可能感兴趣的文章
我的友情链接
查看>>
Spring学习资料之 依赖注入(一)
查看>>
安装win7提示安装程序无法创建新的系统分区和定位现有系统分区
查看>>
快递查询接口的调用与解析案例
查看>>
我的友情链接
查看>>
服务器性能优化配置建议
查看>>
oracle sql语句实现累加、累减、累乘、累除
查看>>
SCNetworkReachabilityRef监测网络状态
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
接口由40秒到200ms优化记录
查看>>
java 视频播放 多人及时弹幕技术 代码生成器 websocket springmvc mybatis SSM
查看>>
Activiti6.0,spring5,SSM,工作流引擎,OA
查看>>
第十三章:SpringCloud Config Client的配置
查看>>
使用 GPUImage 实现一个简单相机
查看>>
CoinWhiteBook:区块链在慈善事业中的应用
查看>>
Mac上基于Github搭建Hexo博客
查看>>
阿里云服务器ECS开放8080端口
查看>>
前端常用排序详解
查看>>
Spring中实现监听的方法
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>