工具 基于phpexcel 1.8版本。
PHP版本7.2
直接贴代码 注释部分为业务逻辑 不适用注释部分也可直接生成例子 按照自己的业务逻辑编写程序即可。
require_once 'database.php';//数据库链接文件*
require_once 'PHPExcel.php';//引入phpexcel*
//require_once 'PHPExcel/IOFactory.php';
//require_once 'PHPExcel/Reader/Excel5.php';
$objPHPExcel = new PHPExcel();//实例化phpexcel
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '编号')
->setCellValue('B1', '地址');
// $sql ="SELECT id,website FROM qd_code WHERE gid=44";
// $arr=$con->query($sql);
// $s=$arr->num_rows;
// for ($i=0; $i < $s; $i++) {
// $arrs=$arr->fetch_assoc();
// $x=$i+2;
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$x, $arrs['id'])->setCellValue('B'.$x, $arrs['website']);
//
// }
//var_dump($arrs);
//exit();
$objPHPExcel->getActiveSheet()->setTitle('第一个sheet');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//到处为2007以上版本格式的EXCEl
$objWriter->save( 'export.xlsx');//保存路径机器文件名
?>
本文参考:https://www.cnblogs.com/jianqingwang/p/6830892.html
ps.值得一说的是phpexcel可能会导致内存溢出问题,本人逻辑为导出10w条数据 已经内存溢出,PHP内存使用设置128M512M。所以做大批量数据导出请分批 或分配大内存。使用
ini_set("memory_limit", "512M"); //运行时临时变更php配置 脚本结束后恢复
set_time_limit(0);//允许就脚本运行时间 0为不限制