知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP 导出Excel

发布时间:2015-05-27 19:19:45作者:知识屋

在开发一个商城网站的时候,客户需要一个导出报表的功能,我使用PHPExcel来实现这个功能。

下载PHPExcel_1.8.0_doc.zip,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下:

导出文件Excel.php

require_once%20dirname(__FILE__).'/Classes/PHPExcel.php';//引入PHPExcel.....此处略去从数据库获取数据的过程,$a为需要导出的数组......$numArr%20=%20array('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');//%20Create%20new%20PHPExcel%20object$objPHPExcel%20=%20new%20PHPExcel();$arr%20=%20array('订单号','下单时间','城市','地区',%20'客户名称',%20'收货人',%20'联系电话',%20'收货地址',%20'ERP客户名称',%20'物流系统客户名称',%20'活动项目',%20'品牌',%20'型号',%20'颜色',%20'物流系统型号',%20'订货量',%20'单价',%20'代收货款',%20'红包',%20'价保返利',%20'运费',%20'实收金额',%20'付款方式',%20'订单来源',%20'上游厂商',%20'是否在仓',%20'快递面单号',%20'订单状态',%20'确认时间',%20'末次状态确认时间',%20'描述',%20'对应业务',%20'对应客服',%20'商家留言',%20'下单摘要',%20'业务员',%20'联系方式');//%20输出标题echo%20date('H:i:s')%20,%20"%20Add%20some%20data"%20,%20EOL;//设置换行$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) %20%20%20%20->setCellValue('A1',%20$arr[0])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('B1',%20$arr[1])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('C1',%20$arr[2])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('D1',%20$arr[3])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('E1',%20$arr[4])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('F1',%20$arr[5])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('G1',%20$arr[6])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('H1',%20$arr[7])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('I1',%20$arr[8])%20%20%20%20%20%20%20%20%20%20%20%20->setCellValue('J1',%20$arr[9]) %20%20%20%20->setCellValue('K1',%20$arr[10]) %20%20%20%20->setCellValue('L1',%20$arr[11]);//输出内容for($i=0;$isetActiveSheetIndex(0) ->setCellValue($numArr[0].($i+2),%20$a[$i]['order_sn']) ->setCellValue($numArr[1].($i+2),%20$a[$i]['add_time']) ->setCellValue($numArr[2].($i+2),%20$a[$i]['city']) ->setCellValue($numArr[3].($i+2),%20$a[$i]['region_name']) ->setCellValue($numArr[4].($i+2),%20$a[$i]['company']) ->setCellValue($numArr[5].($i+2),%20$a[$i]['consignee']) ->setCellValue($numArr[6].($i+2),%20$a[$i]['mobile']) ->setCellValue($numArr[7].($i+2),%20$a[$i]['address']) ->setCellValue($numArr[8].($i+2),%20'') ->setCellValue($numArr[9].($i+2),%20'') ->setCellValue($numArr[10].($i+2),%20'') ->setCellValue($numArr[11].($i+2),%20$a[$i]['brand_name']);}//%20Rename%20worksheetecho%20date('H:i:s')%20,%20"%20Rename%20worksheet"%20,%20EOL;$dirName%20=%20date("Ymd");//目录名$fileName%20=%20date("YmdHis");//文件名$objPHPExcel->getActiveSheet()->setTitle($fileName);//%20Set%20active%20sheet%20index%20to%20the%20first%20sheet,%20so%20Excel%20opens%20this%20as%20the%20first%20sheet$objPHPExcel->setActiveSheetIndex(0);//%20Save%20Excel%202007%20fileecho%20date('H:i:s')%20,%20"%20Write%20to%20Excel2007%20format"%20,%20EOL;$callStartTime%20=%20microtime(true);if(!opendir('../excel/'.$dirName)){ mkdir('../excel/'.$dirName);}$objWriter%20=%20PHPExcel_IOFactory::createWriter($objPHPExcel,%20'Excel2007');$objWriter->save('../excel/'.$dirName.'/'.$fileName.'.xlsx');$end%20=%20getCurrentTime();$spend%20=%20$end-$begin;if%20($spend%20>%2030){ echo%20'<script>if(confirm("执行超时!")){%20window.history.back(-1);}</script>'; exit;}header('Location:http://'.$_SERVER['HTTP_HOST'].'/excel/'.$dirName.'/'.$fileName.'.xlsx');

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜