博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP导出Excel表格
阅读量:4661 次
发布时间:2019-06-09

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

1.引入PHPExcel.php类

2.下面的代码可以直接拿来用,此例中$list为前端传过来的json数据

public function excel()     {
$pre_list = input('list'); $list = json_decode($pre_list); //创建对象 $excel = new \PHPExcel(); $excel->getActiveSheet()->getDefaultColumnDimension()->setAutoSize(true);//设置单元格宽度 //设置表格的宽度 手动 $excel->getActiveSheet()->getColumnDimension('A')->setWidth(30); $excel->getActiveSheet()->getColumnDimension('B')->setWidth(25); $excel->getActiveSheet()->getColumnDimension('C')->setWidth(45); $excel->getActiveSheet()->getColumnDimension('D')->setWidth(20); $excel->getActiveSheet()->getColumnDimension('E')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('F')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('G')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('H')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('I')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('J')->setWidth(70); $excel->getActiveSheet()->getColumnDimension('K')->setWidth(15); //表头数组 $rowVal = array(0=>'订单编号', 1=>'店铺名称',2=>'商品名称', 3=>'买家', 4=>'下单时间', 5=>'订单总额',6=>'订单状态',7=>'收货人',8=>'收货人电话',9=>'收货人地址',10=>'支付方式'); foreach ($rowVal as $k=>$r){
$excel->getActiveSheet()->getStyleByColumnAndRow($k,1)->getFont()->setBold(true);//字体加粗 $excel->getActiveSheet()->getStyleByColumnAndRow($k,1)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//文字居中 $excel->getActiveSheet()->setCellValueByColumnAndRow($k,1,$r); } //表格数组 foreach($list as $k => $v) {
$num=$k+2; $goods_name = ''; foreach($v->order_item_list as $key => $val){
$goods_name = $goods_name.' '.$val->goods_name; } $excel->setActiveSheetIndex(0) ->setCellValue('A'.$num, $v->order_no) ->setCellValue('B'.$num, $v->shop_name) ->setCellValue('c'.$num, $goods_name) ->setCellValue('D'.$num, $v->user_name) ->setCellValue('E'.$num, $v->shipping_time) ->setCellValue('F'.$num, $v->pay_money) ->setCellValue('G'.$num, $v->status_name) ->setCellValue('H'.$num, $v->receiver_name) ->setCellValue('I'.$num, $v->receiver_mobile) ->setCellValue('J'.$num, $v->receiver_province_name.' '.$v->receiver_city_name.' '.$v->receiver_district_name.' '.$v->receiver_address) ->setCellValue('K'.$num, $v->pay_type_name); $excel->getActiveSheet()->getStyleByColumnAndRow($k,1)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//文字居中 } $write = new \PHPExcel_Writer_Excel5($excel); //创建Excel输入对象 ob_clean(); //清除缓冲区 Header('content-Type:application/vnd.ms-excel;charset=utf-8'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="订单汇总表(' . date('Ymd-His') . ').xls"'); header('Cache-Control: max-age=0'); $write->save('php://output'); }

 

转载于:https://www.cnblogs.com/luqiang213917/p/9199253.html

你可能感兴趣的文章