1 require_once WEB_PATH . '/lib/PHPExcel/PHPExcel.php';
2 require_once WEB_PATH . '/lib/PHPExcel/PHPExcel/IOFactory.php';
3
4 class ExcelExport{
5 public static function export($orderList){
6 $columnArr = array('A'=>20, 'B'=>20, 'C'=>'auto', 'D'=>'auto', 'E'=>'auto', 'F'=>'auto', 'G'=>'auto', 'H'=>6, 'I'=>'auto', 'J'=>10, 'K'=>10, 'L'=>10, 'M'=>10, 'N'=>10);
7
8 $objPHPExcel = new PHPExcel();
9 //设置属性
10 $objPHPExcel->getProperties()->setCreator("gaoshikao@qq.com")
11 ->setLastModifiedBy("gaoshikao@qq.com")
12 ->setTitle("")
13 ->setSubject("")
14 ->setDescription("")
15 ->setKeywords("")
16 ->setCategory("");
17
18 //设置标题
19 $objPHPExcel->setActiveSheetIndex(0)
20 ->setCellValue('A1', '编号')
21 ->setCellValue('B1', '单号')
22 ->setCellValue('C1', '姓名')
23 ->setCellValue('D1', '街道')
24 ->setCellValue('E1', '城市')
25 ->setCellValue('F1', '州')
26 ->setCellValue('G1', '邮编')
27 ->setCellValue('H1', '国家')
28 ->setCellValue('I1', '联系电话')
29 ->setCellValue('J1', '中文品名')
30 ->setCellValue('K1', '英文品名')
31 ->setCellValue('L1', '内件件数')
32 ->setCellValue('M1', '商品重量')
33 ->setCellValue('N1', '申报金额');
34
35 //设置列宽,邮编和电话为文本格式
36 foreach($columnArr as $letter => $width){
37 if($width == 'auto')$objPHPExcel->getActiveSheet()->getColumnDimension($letter)->setAutoSize(true);
38 else $objPHPExcel->getActiveSheet()->getColumnDimension($letter)->setWidth($width);
39 }
40
41 //填充数据
42 $currRow = 2;
43 foreach($orderList as $key => $order){
44 if($order['goods_count'] < 1)continue;
45
46 $objPHPExcel->setActiveSheetIndex(0)
47 ->setCellValueExplicit('A'.$currRow, $order['sn'], PHPExcel_Cell_DataType::TYPE_STRING)
48 ->setCellValue('B'.$currRow, '')
49 ->setCellValue('C'.$currRow, $order['username'])
50 ->setCellValue('D'.$currRow, $order['street'].(empty($order['street2']) ? '' : "\n".$order['street2']))
51 ->setCellValue('E'.$currRow, $order['city'])
52 ->setCellValue('F'.$currRow, $order['state'])
53 ->setCellValueExplicit('G'.$currRow, $order['zipcode'], PHPExcel_Cell_DataType::TYPE_STRING)
54 ->setCellValue('H'.$currRow, $order['nation'])
55 ->setCellValueExplicit('I'.$currRow, $order['phone'], PHPExcel_Cell_DataType::TYPE_STRING)
56 ->setCellValue('J'.$currRow, '衣服')
57 ->setCellValue('K'.$currRow, 'clothes')
58 ->setCellValue('L'.$currRow, $order['goods_count'])
59 ->setCellValue('M'.$currRow, '')
60 ->setCellValue('N'.$currRow, '');
61
62 $currRow++;
63 }
64
65 //文档名称
66 $dateTip = date('Y-m-d');
67 $objPHPExcel->getActiveSheet()->setTitle($dateTip);
68
69
70 //设置第1个标签页为默认
71 $objPHPExcel->setActiveSheetIndex(0);
72
73
74 // Redirect output to a client’s web browser (Excel5)
75 $filename = '订单-' . $dateTip . '.xls';
76 header('Content-Type: application/vnd.ms-excel');
77 header('Content-Disposition: attachment;filename="'.$filename.'"');
78 header('Cache-Control: max-age=0');
79 // If you're serving to IE 9, then the following may be needed
80 header('Cache-Control: max-age=1');
81
82 // If you're serving to IE over SSL, then the following may be needed
83 header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
84 header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
85 header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
86 header ('Pragma: public'); // HTTP/1.0
87
88 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
89 $objWriter->save('php://output');
90 exit;
91 }
92 }