分享

thinkphp6配置数据库 用phpexcel把数据库数据写入excel表中

发布于:2019-08-13 15:54    阅读次数:191    作者:云码素材    分类:PHPExcel    关键词:phpexcel教程  thinkphp6导入导出excel表  

thinkphp6用phpexcel导入导出excel数据教程之《三》thinkphp6配置数据库 用phpexcel把数据库数据写入excel表中。


一.thinkphp6连接数据库

数据库配置文件在根目录config/database.php文件里

// 数据库类型
'type'            => Env::get('database.type', 'mysql'),
// 服务器地址
'hostname'        => Env::get('database.hostname', '127.0.0.1'),
// 数据库名
'database'        => Env::get('database.database', 'thinkphp6_phpexcel'),
// 用户名
'username'        => Env::get('database.username', 'root'),
// 密码
'password'        => Env::get('database.password', 'root'),
// 端口
'hostport'        => Env::get('database.hostport', '3306'),


数据库配置文件修改好后,在你要操作的程序里引入Db类后,就可以使用Db操作数据库。

use think\facade\Db;


二.mysql查询数据输出保存数据到excel文件

$objPHPExcel = new PHPExcel();
$dir=dirname(__FILE__);//当前文件所在路径
for($i=1;$i<=3;$i++){
    if($i>1){
        $objPHPExcel->createSheet();//创建新的内置表
    }
    $objPHPExcel->setActiveSheetIndex($i-1);//把新创建的sheet设定为当前活动sheet
    $objSheet=$objPHPExcel->getActiveSheet();//获取当前活动sheet
    $objSheet->setTitle($i."年级");//给当前活动sheet起个名称
    $data=Db::table("user")->where("grade",$i)->select();//查询每个年级的学生数据
    $objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数")->setCellValue("C1","班级");//填充数据
    $j=2;
    foreach($data as $key=>$val){
        $objSheet->setCellValue("A".$j,$val['username'])->setCellValue("B".$j,$val['score'])->setCellValue("C".$j,$val['class']."班");
        $j++;
    }
}
$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');//生成excel文件
$objWriter->save($dir."/score.xls");//保存文件


三.mysql查询数据输出到浏览器

$objPHPExcel = new PHPExcel();
$dir=dirname(__FILE__);//当前文件所在路径
for($i=1;$i<=3;$i++){
    if($i>1){
        $objPHPExcel->createSheet();//创建新的内置表
    }
    $objPHPExcel->setActiveSheetIndex($i-1);//把新创建的sheet设定为当前活动sheet
    $objSheet=$objPHPExcel->getActiveSheet();//获取当前活动sheet
    $objSheet->setTitle($i."年级");//给当前活动sheet起个名称
    $data=Db::table("user")->where("grade",$i)->select();//查询每个年级的学生数据
    $objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数")->setCellValue("C1","班级");//填充数据
    $j=2;
    foreach($data as $key=>$val){
        $objSheet->setCellValue("A".$j,$val['username'])->setCellValue("B".$j,$val['score'])->setCellValue("C".$j,$val['class']."班");
        $j++;
    }
}
$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');//生成excel文件
$this->browser_export('Excel2007','browser_excel07.xls');//输出到浏览器
$objWriter->save("php://output");


更多在线教程,精品网站模板,原创源码请关注公众号:云码素材

云码素材公众号

推荐源码
查看更多

免费领
签到客服赚钱 反馈 回顶部