require_once WEB_PATH . '/lib/PHPExcel/PHPExcel.php';
require_once WEB_PATH . '/lib/PHPExcel/PHPExcel/IOFactory.php'; class ExcelExport{
public static function export($orderList){
$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); $objPHPExcel = new PHPExcel();
//设置属性
$objPHPExcel->getProperties()->setCreator("gaoshikao@qq.com")
->setLastModifiedBy("gaoshikao@qq.com")
->setTitle("")
->setSubject("")
->setDescription("")
->setKeywords("")
->setCategory(""); //设置标题
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '编号')
->setCellValue('B1', '单号')
->setCellValue('C1', '姓名')
->setCellValue('D1', '街道')
->setCellValue('E1', '城市')
->setCellValue('F1', '州')
->setCellValue('G1', '邮编')
->setCellValue('H1', '国家')
->setCellValue('I1', '联系电话')
->setCellValue('J1', '中文品名')
->setCellValue('K1', '英文品名')
->setCellValue('L1', '内件件数')
->setCellValue('M1', '商品重量')
->setCellValue('N1', '申报金额'); //设置列宽,邮编和电话为文本格式
foreach($columnArr as $letter => $width){
if($width == 'auto')$objPHPExcel->getActiveSheet()->getColumnDimension($letter)->setAutoSize(true);
else $objPHPExcel->getActiveSheet()->getColumnDimension($letter)->setWidth($width);
} //填充数据
$currRow = 2;
foreach($orderList as $key => $order){
if($order['goods_count'] < 1)continue; $objPHPExcel->setActiveSheetIndex(0)
->setCellValueExplicit('A'.$currRow, $order['sn'], PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValue('B'.$currRow, '')
->setCellValue('C'.$currRow, $order['username'])
->setCellValue('D'.$currRow, $order['street'].(empty($order['street2']) ? '' : "\n".$order['street2']))
->setCellValue('E'.$currRow, $order['city'])
->setCellValue('F'.$currRow, $order['state'])
->setCellValueExplicit('G'.$currRow, $order['zipcode'], PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValue('H'.$currRow, $order['nation'])
->setCellValueExplicit('I'.$currRow, $order['phone'], PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValue('J'.$currRow, '衣服')
->setCellValue('K'.$currRow, 'clothes')
->setCellValue('L'.$currRow, $order['goods_count'])
->setCellValue('M'.$currRow, '')
->setCellValue('N'.$currRow, ''); $currRow++;
} //文档名称
$dateTip = date('Y-m-d');
$objPHPExcel->getActiveSheet()->setTitle($dateTip); //设置第1个标签页为默认
$objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5)
$filename = '订单-' . $dateTip . '.xls';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
}

phpExcel导出excel的类,每步都有说明的更多相关文章

  1. 导入导出Excel工具类ExcelUtil

    前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...

  2. PHPExcel导出excel文件

    今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...

  3. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  4. 应用phpexcel导出excel文件后打不开的问题解决方法

    应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”. 试了以下方法: 1.首先区分文件格式是2003,还是2007. 参 ...

  5. MVC NPOI Linq导出Excel通用类

    之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...

  6. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  7. 导出Excel帮助类

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D ...

  8. javaEE开发之导出excel工具类

    web开发中,一个系统的普通需求也包含导出excel,一般採用POI做统计报表导出excel. 导出excel工具类: import java.io.FileOutputStream; import ...

  9. phpExcel导出excel加超级链接的实例代码[转]

    phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...

随机推荐

  1. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  2. solr--搜索参数随笔

    1.默认搜索域.查询域的关系 qf字段的配置:query fields,指定solr从哪些field中搜索 在solrj中设置如下: params.setParam("qf", & ...

  3. 创建对象_工厂方法(Factory Method)模式 与 静态工厂方法

      工厂方法模式:   定义:为创建对象定义一个接口,让子类决定实例化哪个类.工厂方法让一个类的实例化延迟至子类.   应用场景: 客户类不关心使用哪个具体类,只关心该接口所提供的功能: 创建过程比较 ...

  4. ArcGIS地图文档MXD效率慢的一点建议(二)

    经常有用户询问,我的MXD图层比较多,而且配置好了相关的符号,但是我的服务器更换了一下,而且两个服务器的要素类名称都是一样的,我想配置一下新的数据源,而且我的这个MXD已经连接不到原来的数据源了,打开 ...

  5. Debian 8 在虚拟环境中安装kivy

    mkvirtualenv kivy 或者按官方教程所说: virtualenv --no-site-packages kivyinstall (kivy)~/pythonvenv ᐅ pip list ...

  6. 使用hibernate配置多数据源链接MySQL和Oracle数据库

    最近做项目要将读取到的数据同时插入到MySQL数据库和Oracle数据库当中,以前都是使用一个数据库,没有用过多数据源的情况,现在把这个问题搞定了,写下来希望对大家有点帮助,可能我所使用的方法不是最好 ...

  7. js和jQuery 获取屏幕高度、宽度

    js获取屏幕高度,宽带 网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body ...

  8. 写多个物件css3循环动画案例原理

    div { background-color: #67CF22; height: 100%; width: 6px; display: inline-block; -webkit-animation: ...

  9. [转]Android 应用的自动升级、更新模块的实现

    本文转自:http://www.oschina.net/question/163910_28462 我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新.得益于Andro ...

  10. jQuery选择器之基本过滤选择器Demo

    测试代码: 03-基本过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...