下载PHPExcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下:
导出文件Excel.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
require_once
dirname(
__FILE__
).
'/Classes/PHPExcel.php'
;
//引入PHPExcel
.....此处略去从数据库获取数据的过程,
$a
为需要导出的数组......
$numArr
=
array
(
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'AA'
,
'AB'
,
'AC'
,
'AD'
,
'AE'
,
'AF'
,
'AG'
,
'AH'
,
'AI'
,
'AJ'
,
'AK'
,
'AL'
,
'AM'
,
'AN'
,
'AO'
,
'AP'
,
'AQ'
,
'AR'
,
'AS'
,
'AT'
,
'AU'
,
'AV'
,
'AW'
,
'AX'
,
'AY'
,
'AZ'
);
// Create new PHPExcel object
$objPHPExcel
=
new
PHPExcel();
$arr
=
array
(
'订单号'
,
'下单时间'
,
'城市'
,
'地区'
,
'客户名称'
,
'收货人'
,
'联系电话'
,
'收货地址'
,
'ERP客户名称'
,
'物流系统客户名称'
,
'活动项目'
,
'品牌'
,
'型号'
,
'颜色'
,
'物流系统型号'
,
'订货量'
,
'单价'
,
'代收货款'
,
'红包'
,
'价保返利'
,
'运费'
,
'实收金额'
,
'付款方式'
,
'订单来源'
,
'上游厂商'
,
'是否在仓'
,
'快递面单号'
,
'订单状态'
,
'确认时间'
,
'末次状态确认时间'
,
'描述'
,
'对应业务'
,
'对应客服'
,
'商家留言'
,
'下单摘要'
,
'业务员'
,
'联系方式'
);
// 输出标题
echo
date
(
'H:i:s'
) ,
" Add some data"
, EOL;
//设置换行
$objPHPExcel
->getActiveSheet()->getStyle(
'H'
)->getAlignment()->setWrapText(true);
$objPHPExcel
->getActiveSheet()->getStyle(
'Y'
)->getAlignment()->setWrapText(true);
//设置相应列的宽度
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'A'
)->setWidth(15);
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'B'
)->setWidth(20);
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'G'
)->setWidth(15);
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'H'
)->setWidth(40);
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'I'
)->setWidth(15);
$objPHPExcel
->setActiveSheetIndex(0)->getColumnDimension(
'J'
)->setWidth(15);
//输出第一行
$objPHPExcel
->setActiveSheetIndex(0)
->setCellValue(
'A1'
,
$arr
[0])
->setCellValue(
'B1'
,
$arr
[1])
->setCellValue(
'C1'
,
$arr
[2])
->setCellValue(
'D1'
,
$arr
[3])
->setCellValue(
'E1'
,
$arr
[4])
->setCellValue(
'F1'
,
$arr
[5])
->setCellValue(
'G1'
,
$arr
[6])
->setCellValue(
'H1'
,
$arr
[7])
->setCellValue(
'I1'
,
$arr
[8])
->setCellValue(
'J1'
,
$arr
[9])
->setCellValue(
'K1'
,
$arr
[10])
->setCellValue(
'L1'
,
$arr
[11]);
//输出内容
for
(
$i
=0;
$i
<
count
(
$a
);
$i
++){
$objPHPExcel
->setActiveSheetIndex(0)
->setCellValue(
$numArr
[0].(
$i
+2),
$a
[
$i
][
'order_sn'
])
->setCellValue(
$numArr
[1].(
$i
+2),
$a
[
$i
][
'add_time'
])
->setCellValue(
$numArr
[2].(
$i
+2),
$a
[
$i
][
'city'
])
->setCellValue(
$numArr
[3].(
$i
+2),
$a
[
$i
][
'region_name'
])
->setCellValue(
$numArr
[4].(
$i
+2),
$a
[
$i
][
'company'
])
->setCellValue(
$numArr
[5].(
$i
+2),
$a
[
$i
][
'consignee'
])
->setCellValue(
$numArr
[6].(
$i
+2),
$a
[
$i
][
'mobile'
])
->setCellValue(
$numArr
[7].(
$i
+2),
$a
[
$i
][
'address'
])
->setCellValue(
$numArr
[8].(
$i
+2),
''
)
->setCellValue(
$numArr
[9].(
$i
+2),
''
)
->setCellValue(
$numArr
[10].(
$i
+2),
''
)
->setCellValue(
$numArr
[11].(
$i
+2),
$a
[
$i
][
'brand_name'
]);
}
// Rename worksheet
echo
date
(
'H:i:s'
) ,
" Rename worksheet"
, EOL;
$dirName
=
date
(
"Ymd"
);
//目录名
$fileName
=
date
(
"YmdHis"
);
//文件名
$objPHPExcel
->getActiveSheet()->setTitle(
$fileName
);
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel
->setActiveSheetIndex(0);
// Save Excel 2007 file
echo
date
(
'H:i:s'
) ,
" Write to Excel2007 format"
, EOL;
$callStartTime
= microtime(true);
if
(!opendir(
'../excel/'
.
$dirName
)){
mkdir
(
'../excel/'
.
$dirName
);
}
$objWriter
= PHPExcel_IOFactory::createWriter(
$objPHPExcel
,
'Excel2007'
);
$objWriter
->save(
'../excel/'
.
$dirName
.
'/'
.
$fileName
.
'.xlsx'
);
$end
= getCurrentTime();
$spend
=
$end
-
$begin
;
if
(
$spend
> 30){
echo
'<script>if(confirm("执行超时!")){ window.history.back(-1);}</script>'
;
exit
;
}
header(
'Location:http://'
.
$_SERVER
[
'HTTP_HOST'
].
'/excel/'
.
$dirName
.
'/'
.
$fileName
.
'.xlsx'
);
|