public function excel(){
$data= M('shop')->select();//查出的数据
import("Org.Util.PHPExcel");//引入的文件
error_reporting(E_ALL);//错误级别
date_default_timezone_set('Europe/London');//时间
$objPHPExcel = new \PHPExcel();//实例化对象
import("Org.Util.PHPExcel.Reader.Excel5");//引入的文件
// /*设置excel的属性*/ 可有可无
$objPHPExcel->getProperties()->setCreator("Admin")//创建人
->setLastModifiedBy("A")//最后修改人
->setTitle("产品EXCEL导出")//标题
->setSubject("产品EXCEL导出")//题目
->setDescription("产品")//描述
->setKeywords("excel")//关键字
->setCategory("result file");//种类
//第一行数据
$objPHPExcel->setActiveSheetIndex(0)
->setCellValueExplicit('A1', '类别ID')
->setCellValueExplicit('B1', '品名')
->setCellValueExplicit('C1', '价格');
$objActSheet=$objPHPExcel->getActiveSheet();
foreach($data as $k => $v){
$k=$k+1;
$num=$k+1;//数据从第二行开始录入
$objActSheet
//Excel的第A列,查出数组的键值,下面以此类推
->setCellValueExplicit('A'.$num, $v['id'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('B'.$num, $v['shopname'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('C'.$num, $v['price'],\PHPExcel_Cell_DataType::TYPE_STRING);
//设置单元格宽度自动 以下设置宽度可有可无
$objActSheet->getColumnDimension('B')->setAutoSize(true);
$objActSheet->getColumnDimension('C')->setAutoSize(true);
$objActSheet->getColumnDimension('D')->setAutoSize(true);
$objActSheet->getColumnDimension('E')->setAutoSize(true);
$objActSheet->getColumnDimension('F')->setAutoSize(true);
$objActSheet->getColumnDimension('G')->setAutoSize(true);
$objActSheet->getColumnDimension('H')->setAutoSize(true);
$objActSheet->getColumnDimension('I')->setAutoSize(true);
$objActSheet->getColumnDimension('J')->setAutoSize(true);
$objActSheet->getColumnDimension('K')->setAutoSize(true);
}
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.time().'.xls"');
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
直接访问此方法