PHP 导出Excel示例分享

下载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' );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值