1.下载文件https://github.com/PHPOffice/PHPExcel
也可以下从网盘下载简略版 https://pan.baidu.com/s/1mPYN_T16tWpLB8Fum7aoFQ
2.将下载回来的压缩文件PHPExcel.rar解压,放到thinkphp的第三方类库目录vendor下
3.
public function export() {
vendor('PHPExcel.PHPExcel');
$Excel = new \PHPExcel();
//你要导出的数据
$arr = array ( 1 => array ( 'name' => '小明', 'sex' => '男', 'age' => '18', ), 2 => array ( 'name' => '小红', 'sex' => '女', 'age' => '22', ), 3 => array ( 'name' => '小军', 'sex' => '男', 'age' => '23', ), );
// 设置
$Excel
->getProperties()
->setCreator("dee")
->setLastModifiedBy("dee")
->setTitle("数据EXCEL导出")
->setSubject("数据EXCEL导出")
->setDescription("数据EXCEL导出")
->setKeywords("excel")
->setCategory("result file");
$Excel->setActiveSheetIndex(0);
// 设置表格第一行显示内容
$Excel->getActiveSheet()
->setCellValue('A1', '姓名')
->setCellValue('B1', '性别')
->setCellValue('C1', '年龄');
$key = 1; /*以下就是对处理Excel里的数据,横着取数据*/
foreach($arr as $v){ //设置循环从第二行开始
$key++;
$Excel->getActiveSheet() //Excel的第A列,name是你查出数组的键值字段,下面以此类推
->setCellValue('A'.$key, $v['name'])
->setCellValue('B'.$key, $v['sex'])
->setCellValue('C'.$key, $v['age']);
}
$Excel->getActiveSheet()->setTitle('title');
$Excel->setActiveSheetIndex(0);
$name='文件名.xlsx';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename='.$name);
header('Cache-Control: max-age=0');
$ExcelWriter = \PHPExcel_IOFactory::createWriter($Excel, 'Excel2007');
$ExcelWriter->save('php://output');
exit;
}
访问该方法就可以下载了,结果如下:
如果有什么问题及不懂的可以于关注公众号回复999加我微信交流下