thinkphp5和thinkphp6的PHPExcel是一样的
composer require phpoffice/phpexcel
页面引入
use PHPExcel_IOFactory;
use PHPExcel;
导出代码
$name='文件名';
// 数据
$data=array();
$excel = new \PHPExcel(); //引用phpexcel
iconv('UTF-8', 'gb2312', $name); //针对中文名转码
$excel->setActiveSheetIndex(0);
$excel->getActiveSheet()->setTitle($name); //设置表名
// 设置单元格的宽度
$excel->getActiveSheet()->getColumnDimension('A')->setWidth(15);#设置单元格宽度
$excel->getActiveSheet()->getColumnDimension('B')->setWidth(30);#设置单元格宽度
$excel->getActiveSheet()->getColumnDimension('C')->setWidth(30);#设置单元格宽度
//设置表头
$excel->setActiveSheetIndex(0)
->setCellValue('A1', '序号')
->setCellValue('B1', '姓名')
->setCellValue('C1', '身份证号码');
$i=1;
foreach ($user_arr as $k => $v) {
//从第二行开始写入数据(第一行为表头)
$excel->getActiveSheet()->setCellValue('A' . ($k + 2), $i);
$excel->getActiveSheet()->setCellValue('B' . ($k + 2), $v['姓名']);
$excel->getActiveSheet()->setCellValue('B' . ($k + 2), $v['身份证']."\t");
// \t的作用是防止身份证输出成科学计数法
$i++;
}
ob_end_clean();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $name . '.xls"');
header('Cache-Control: max-age=0');
$res_excel = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$res_excel->save('php://output');
至于导出Excel时候样式的设置就不记录了