phpExcel类库文件保存在该模块下的library
![](https://box.kancloud.cn/a82c550675a9bc14b50f87d2efcbd6c2_404x626.png)
第一步:加载类库:
![](https://box.kancloud.cn/e581e3d322c49e2a3709a723b4fcffb8_713x125.png)
2018年11月14日14:44:29---增加设置单元格宽度
第二步:实例化phpexcel类并设置相关数据结构(底部清晰图片结构)
```
//phpexcel导出
$this->load->library('phpexcel/PHPExcel');
$phpexcel = new PHPExcel();
// 设置表头
$phpexcel->setActiveSheetIndex(0)
->setCellValue('A1', '序号')
->setCellValue('B1', '订单编号')
->setCellValue('C1', '收货人')
->setCellValue('D1', '手机号')
->setCellValue('E1', '贸易类型')
->setCellValue('F1', '总金额')
->setCellValue('G1', '应付金额')
->setCellValue('H1', '运费')
->setCellValue('I1', '下单时间')
->setCellValue('J1', '快递方式')
->setCellValue('K1', '物流单号');
// 标签名
$phpexcel->getActiveSheet()->setTitle('待发货订单');
// 使用第一个表
$phpexcel->setActiveSheetIndex(0);
$objWriter = new \PHPExcel_Writer_Excel5($phpexcel);
// 查询到的数据源
//$list = D('roster_enroll')->select();
foreach ($exc_data as $key => $value) {
//表格是从2开始的 因为上面还有表头
$i=$key+2;
$phpexcel->getActiveSheet()->setCellValue('A'.$i, $value['num']);//这里是设置A1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('B'.$i, $value['order_sn']);////这里是设置B1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('C'.$i, $value['name']);////这里是设置C1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('D'.$i, $value['phone']);////这里是设置D1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('E'.$i, $value['trade_name']);
$phpexcel->getActiveSheet()->setCellValue('F'.$i, $value['price']);
$phpexcel->getActiveSheet()->setCellValue('G'.$i, $value['price_transaction']);
$phpexcel->getActiveSheet()->setCellValue('H'.$i, $value['logis_price']);
$phpexcel->getActiveSheet()->setCellValue('I'.$i, $value['create_time']);
$phpexcel->getActiveSheet()->setCellValue('J'.$i, $value['kuaidi']);
$phpexcel->getActiveSheet()->setCellValue('K'.$i, $value['danhao']);
//以此类推,可以设置C D E F G看你需要了。
//单元格信息转为文本(避免转为科学计数法)
$phpexcel->getActiveSheet()->getStyle('B'.$i)->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//设置单元格宽度
$phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$phpexcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
$phpexcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
}
//直接输出
ob_end_clean() ;//设置缓冲
header("Content-type:text/html;charset=utf-8");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="待发货订单_'.date('Ymd_His').'.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
//保存到./(根)目录下
// $filename = './'.time().'.xls';
// $objWriter->save($filename);
```
![](https://box.kancloud.cn/e0217003d3f406f4ddfb376217998bf0_1084x914.png)
![](https://box.kancloud.cn/48f57e8d72bc1aee7b3397fb75c9225e_1473x836.png)
![](https://box.kancloud.cn/bad4fbb529d3a3eca96cd1fd81d2b328_1521x410.png)