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

来自 , 2020-01-02, 写在 PHP, 查看 106 次.
URL http://www.code666.cn/view/0a2a51da
  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