/** Error reporting */ error_reporting(E_ALL & ~E_NOTICE); date_default_timezone_set('Europe/London'); /** PHPExcel */ require_once '../export/phpexcel/Classes/PHPExcel.php'; // Create new PHPExcel object $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("meilang") ->setLastModifiedBy("meilang") ->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"); // Add some data $objPHPExcel->setActiveSheetIndex(0) ->SetCellValue('A1', '订单号') ->SetCellValue('B1', '会员名称') ->SetCellValue('C1', '状态') ->SetCellValue('D1', '数量') ->SetCellValue('E1', '商品名称') ->SetCellValue('F1', '提货点') ->SetCellValue('G1', '总计') ->SetCellValue('H1', '生成日期') ->SetCellValue('I1', '姓氏') ->SetCellValue('J1', '姓名') ->SetCellValue('K1', '快递公司') ->SetCellValue('L1', '地址1') ->SetCellValue('M1', '地址2') ->SetCellValue('N1', '快递号') ->SetCellValue('O1', '手机号码') ->SetCellValue('P1', '邮编') ->SetCellValue('Q1', '会员留言') ->SetCellValue('R1', '地区/省'); $i = 2; foreach ($results as $r) { $objPHPExcel->setActiveSheetIndex(0) ->SetCellValue('A' . $i, $r['order_id']) ->SetCellValue('B' . $i, $r['customer_name']) ->SetCellValue('C' . $i, $r['name']) ->SetCellValue('D' . $i, $r['product_nums']) ->SetCellValue('E' . $i, $r['pname']) ->SetCellValue('F' . $i, $r['addresstype']) ->SetCellValue('G' . $i, $r['total']) ->SetCellValue('H' . $i, $r['date_added']) ->SetCellValue('I' . $i, $r['firstname']) ->SetCellValue('J' . $i, $r['lastname']) ->SetCellValue('K' . $i, $r['shipping_method']) ->SetCellValue('L' . $i, $r['payment_address_1']) ->SetCellValue('M' . $i, $r['payment_address_2']) ->SetCellValue('N' . $i, $r['shipping_num']) ->SetCellValue('O' . $i, $r['payment_phone']) ->SetCellValue('P' . $i, $r['payment_postcode']) ->SetCellValue('Q' . $i, $r['liuyan']) ->SetCellValue('R' . $i, $r['payment_zone']); $i++; } $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(13); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(16); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(14); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(7.86); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(27.5); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(14); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(13.14); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(18.29); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(14); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(13.67); $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(14); $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(46); $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(23.67); $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(14.83); $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(26); $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(25); $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(16); // 水平方向上两端对齐 $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment:: HORIZONTAL_CENTER); // 垂直方向上中间居中 $objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment:: VERTICAL_CENTER); // 固定第一行 $objPHPExcel->getActiveSheet()->freezePane('A2'); // 设置默认字体、大小 $objPHPExcel->getDefaultStyle()->getFont()->setName('Times New Roman'); $objPHPExcel->getDefaultStyle()->getFont()->setSize(9); // 设置第一行填充颜色 $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFill()->setFillType(PHPExcel_Style_Fill:: FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFill()->getStartColor()->setARGB('888888'); $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color:: COLOR_WHITE); //*********************** 画出单元格边框 ***************************** $styleArray = array( 'borders' => array( 'allborders' => array( //'style' => PHPExcel_Style_Border::BORDER_THICK,// 边框是粗的 'style' => PHPExcel_Style_Border:: BORDER_THIN,// 细边框 'color' => array('argb' => 'ADADAD'), ), ), ); $objPHPExcel->getActiveSheet()->getStyle('A1:R' . ++$i)->applyFromArray($styleArray);// 这里就是画出从单元格 A5 到Si 的边框 //*********************** 画出单元格边框结束 ***************************** // Rename sheet $objPHPExcel->getActiveSheet()->setTitle('订单报表'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client's web browser (Excel5) ob_end_clean(); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="订单报表.xls"'); header('Cache-Control: max-age=0'); header('Content-type:application/vnd.ms-excel'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');