[PHP] 以excel形式导出 →→→→→进入此内容的聊天室

来自 , 2019-05-28, 写在 PHP, 查看 117 次.
URL http://www.code666.cn/view/dba132f6
  1. /** Error reporting */
  2.         error_reporting(E_ALL & ~E_NOTICE);
  3.  
  4.         date_default_timezone_set('Europe/London');
  5.         /** PHPExcel */
  6.         require_once '../export/phpexcel/Classes/PHPExcel.php';
  7.  
  8.         // Create new PHPExcel object
  9.         $objPHPExcel = new PHPExcel();
  10.  
  11.         $objPHPExcel->getProperties()->setCreator("meilang")
  12.             ->setLastModifiedBy("meilang")
  13.             ->setTitle("Office 2007 XLSX Test Document")
  14.             ->setSubject("Office 2007 XLSX Test Document")
  15.             ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
  16.             ->setKeywords("office 2007 openxml php")
  17.             ->setCategory("Test result file");
  18.  
  19.         // Add some data
  20.         $objPHPExcel->setActiveSheetIndex(0)
  21.             ->SetCellValue('A1', '订单号')
  22.             ->SetCellValue('B1', '会员名称')
  23.             ->SetCellValue('C1', '状态')
  24.             ->SetCellValue('D1', '数量')
  25.             ->SetCellValue('E1', '商品名称')
  26.             ->SetCellValue('F1', '提货点')
  27.             ->SetCellValue('G1', '总计')
  28.             ->SetCellValue('H1', '生成日期')
  29.             ->SetCellValue('I1', '姓氏')
  30.             ->SetCellValue('J1', '姓名')
  31.             ->SetCellValue('K1', '快递公司')
  32.             ->SetCellValue('L1', '地址1')
  33.             ->SetCellValue('M1', '地址2')
  34.             ->SetCellValue('N1', '快递号')
  35.             ->SetCellValue('O1', '手机号码')
  36.             ->SetCellValue('P1', '邮编')
  37.             ->SetCellValue('Q1', '会员留言')
  38.             ->SetCellValue('R1', '地区/省');
  39.  
  40.  
  41.         $i = 2;
  42.         foreach ($results as $r) {
  43.             $objPHPExcel->setActiveSheetIndex(0)
  44.                 ->SetCellValue('A' . $i, $r['order_id'])
  45.                 ->SetCellValue('B' . $i, $r['customer_name'])
  46.                 ->SetCellValue('C' . $i, $r['name'])
  47.                 ->SetCellValue('D' . $i, $r['product_nums'])
  48.                 ->SetCellValue('E' . $i, $r['pname'])
  49.                 ->SetCellValue('F' . $i, $r['addresstype'])
  50.                 ->SetCellValue('G' . $i, $r['total'])
  51.                 ->SetCellValue('H' . $i, $r['date_added'])
  52.                 ->SetCellValue('I' . $i, $r['firstname'])
  53.                 ->SetCellValue('J' . $i, $r['lastname'])
  54.                 ->SetCellValue('K' . $i, $r['shipping_method'])
  55.                 ->SetCellValue('L' . $i, $r['payment_address_1'])
  56.                 ->SetCellValue('M' . $i, $r['payment_address_2'])
  57.                 ->SetCellValue('N' . $i, $r['shipping_num'])
  58.                 ->SetCellValue('O' . $i, $r['payment_phone'])
  59.                 ->SetCellValue('P' . $i, $r['payment_postcode'])
  60.                 ->SetCellValue('Q' . $i, $r['liuyan'])
  61.                 ->SetCellValue('R' . $i, $r['payment_zone']);
  62.  
  63.             $i++;
  64.  
  65.         }
  66.         $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(13);
  67.         $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(16);
  68.         $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(14);
  69.         $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(7.86);
  70.         $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(27.5);
  71.         $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(14);
  72.         $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(13.14);
  73.         $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(18.29);
  74.         $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(14);
  75.         $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12);
  76.         $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(13.67);
  77.         $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(14);
  78.         $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(46);
  79.         $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(23.67);
  80.         $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(14.83);
  81.         $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(12);
  82.         $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(26);
  83.         $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(12);
  84.         $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(25);
  85.  
  86.         $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(16);
  87.         // 水平方向上两端对齐
  88.         $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment:: HORIZONTAL_CENTER);
  89.         // 垂直方向上中间居中
  90.         $objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment:: VERTICAL_CENTER);
  91.         // 固定第一行
  92.         $objPHPExcel->getActiveSheet()->freezePane('A2');
  93.         // 设置默认字体、大小
  94.         $objPHPExcel->getDefaultStyle()->getFont()->setName('Times New Roman');
  95.         $objPHPExcel->getDefaultStyle()->getFont()->setSize(9);
  96.         // 设置第一行填充颜色
  97.         $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFill()->setFillType(PHPExcel_Style_Fill:: FILL_SOLID);
  98.         $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFill()->getStartColor()->setARGB('888888');
  99.         $objPHPExcel->getActiveSheet()->getStyle('A1:R1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color:: COLOR_WHITE);
  100.         //*********************** 画出单元格边框 *****************************
  101.         $styleArray = array(
  102.             'borders' => array(
  103.                 'allborders' => array(
  104.                     //'style' => PHPExcel_Style_Border::BORDER_THICK,// 边框是粗的
  105.                     'style' => PHPExcel_Style_Border:: BORDER_THIN,// 细边框
  106.                     'color' => array('argb' => 'ADADAD'),
  107.                 ),
  108.             ),
  109.         );
  110.         $objPHPExcel->getActiveSheet()->getStyle('A1:R' . ++$i)->applyFromArray($styleArray);// 这里就是画出从单元格 A5 到Si 的边框
  111.         //*********************** 画出单元格边框结束 *****************************
  112.         // Rename sheet
  113.         $objPHPExcel->getActiveSheet()->setTitle('订单报表');
  114.  
  115.         // Set active sheet index to the first sheet, so Excel opens this as the first sheet
  116.         $objPHPExcel->setActiveSheetIndex(0);
  117.  
  118.         // Redirect output to a client's web browser (Excel5)
  119.         ob_end_clean();
  120.         header('Content-Type: application/vnd.ms-excel');
  121.         header('Content-Disposition: attachment;filename="订单报表.xls"');
  122.         header('Cache-Control: max-age=0');
  123.         header('Content-type:application/vnd.ms-excel');
  124.  
  125.  
  126.         $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  127.         $objWriter->save('php://output');

回复 "以excel形式导出"

这儿你可以回复上面这条便签

captcha