使用PHPExcel实现数据批量导出为excel表格

Posted 下页、再停留

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHPExcel实现数据批量导出为excel表格相关的知识,希望对你有一定的参考价值。

首先需要下载phpExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法

下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子

前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)!

<a href="./Process1.php">导出excel表格</a>

后台Process.php页面

/**
* 批量导出数据
* @param $arr  从数据库查询出来,即要导出的数据
*        $name  excel表歌名
*/
function expExcel($arr,$name){
    
    require_once \'PHPExcel.php\';
    //实例化
    $objPHPExcel = new PHPExcel();
    /*右键属性所显示的信息*/
     $objPHPExcel->getProperties()->setCreator("zxf")       //作者
                           ->setLastModifiedBy("zxf")       //最后一次保存者
                           ->setTitle(\'数据EXCEL导出\')      //标题
                           ->setSubject(\'数据EXCEL导出\')    //主题
                           ->setDescription(\'导出数据\')     //描述
                           ->setKeywords("excel")           //标记
                          ->setCategory("result file");     //类别


    //设置当前的表格 
    $objPHPExcel->setActiveSheetIndex(0);
    // 设置表格第一行显示内容
    $objPHPExcel->getActiveSheet()
        ->setCellValue(\'A1\', \'业主姓名\')
        ->setCellValue(\'B1\', \'密码\')
        ->setCellValue(\'C1\', \'手机号码\')
        ->setCellValue(\'D1\', \'地址\')
        //设置第一行为红色字体
        ->getStyle(\'A1:D1\')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);

    $key = 1;
    /*以下就是对处理Excel里的数据,横着取数据*/
    foreach($arr as $v){

    //设置循环从第二行开始
    $key++;
     $objPHPExcel->getActiveSheet()

                 //Excel的第A列,name是你查出数组的键值字段,下面以此类推
                  ->setCellValue(\'A\'.$key, $v[\'name\'])    
                  ->setCellValue(\'B\'.$key, $v[\'pwd\'])
                  ->setCellValue(\'C\'.$key, $v[\'phone\'])
                  ->setCellValue(\'D\'.$key, $v[\'address\']);

    }
    //设置当前的表格 
    $objPHPExcel->setActiveSheetIndex(0);
   ob_end_clean();     //清除缓冲区,避免乱码
header(\'Content-Type: application/vnd.ms-excel\'); //文件类型 header(\'Content-Disposition: attachment;filename="\'.$name.\'.xls"\'); //文件名 header(\'Cache-Control: max-age=0\'); header(\'Content-Type: text/html; charset=utf-8\'); //编码 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, \'Excel5\'); //excel 2003 $objWriter->save(\'php://output\'); exit; } /***********调用**********************/ header("Content-type:text/html;charset=utf-8"); //链接数据库 $link = @mysql_connect(\'localhost\',\'root\',\'\') or die(\'连接数据库失败\'); mysql_select_db(\'test\',$link); mysql_query(\'set names utf8\'); //先获取数据 $sql = "select * from house"; $res = mysql_query($sql); $arr = array(); //把$res=>$arr,把结果集内容转移到一个数组中 while ($row = mysql_fetch_assoc($res)){ $arr[] = $row; } //excel表格名 $name = "用户表"; //调用 expExcel($arr,$name)

 使用PHPExcel导出数据至此完毕,对于使用PHPExcel导入到数据库可以参看使用PHPExcel实现数据批量上传到数据库

以上是关于使用PHPExcel实现数据批量导出为excel表格的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

使用 php excel 导出到 excel 到最直接的工作表

laravel 怎么实现导出execl

php phpexcel-phpexcel 导入 excel出现问题,求解答

使用phpExcel将数据批量导出

使用PHPExcel导出文件