PHPExcel详细excel导出代码:一

浏览:2158 发布日期:2016/12/13 分类:功能实现 关键字: PHPExcel,excel导出
简单的数据导出功能
<?php

require_once './PHPExcel/Classes/PHPExcel.php';
require_once './PHPExcel/Classes/PHPExcel/Reader/Excel2007.php';
require_once './PHPExcel/Classes/PHPExcel/Reader/Excel5.php';
include_once './PHPExcel/Classes/PHPExcel/IOFactory.php';

/*--------------下面是对mysql数据库的连接----------*/
 include_once( "inc.php" );
$sql=mysql_query("select ban,room,username,department,state,live,quit from hostel where username!=''");
mysql_query('SET NAMES UTF8');    //设置字符集为UTF8
while($row=mysql_fetch_assoc($sql)){$data[]=$row;}

$fileName = "home";
$headArr = array("楼栋","房号","姓名","部门","状态","入住时间","离职时间");
getExcel($fileName,$headArr,$data);

function getExcel($fileName,$headArr,$data){
    //判断数据是否是数组
    if(empty($data) || !is_array($data)){
        die("data must be a array");
    }
    //判断文件是否存在
    if(empty($fileName)){
        exit;
    }
    
    $date = date("Y_m_d",time());    //时间
    $fileName .= "_{$date}.xlsx";    //文件名
    $fileName = iconv("gb2312","utf-8", $fileName);
    
    //创建新的PHPExcel对象
    $objPHPExcel = new PHPExcel();
    $objProps = $objPHPExcel->getProperties();
     
    //设置表头
    $key = ord("A");            //返回ASCII值
    foreach($headArr as $v){
        $colum = chr($key);        //ASCII值返回字符
        $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1',iconv("gb2312","utf-8", $v));
        $key += 1;
    }
    
 /*--------------开始从数据库提取信息插入Excel表中------------------*/
    $column = 2;
    $objActSheet = $objPHPExcel->getActiveSheet();
    foreach($data as $key => $rows){ //行写入
        $span = ord("A");
        foreach($rows as $keyName=>$value){// 列写入
            $j = chr($span);
            $objActSheet->setCellValue($j.$column, iconv("gb2312","utf-8", $value));
            $span++;
        }
        $column++;
    }
    
    /*--------------下面是设置其他信息------------------*/
    $objPHPExcel->getActiveSheet()->setTitle('Simple');        //重命名表
    $objPHPExcel->getActiveSheet()->getStyle()->getFont()->setName('微软雅黑');        //设置字体
    $objPHPExcel->getActiveSheet()->getStyle()->getFont()->setSize(14);                //字体大小
    $objPHPExcel->setActiveSheetIndex(0);                    //设置sheet的起始位置
    
    
    
    //将输出重定向到一个客户端web浏览器(Excel2007)
    //ob_clean();
    //ob_end_clean();    //清除缓冲区,避免乱码
    header("Content-Type: application/vnd.ms-excel; charset==UTF-8");
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header("Content-Disposition: attachment; filename=\"$fileName\"");
    header('Cache-Control: max-age=0');
 
    /*--------------下面是设置保存路径------------------*/
    //通过PHPExcel_IOFactory的写函数将上面数据写出来
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    
    //脚本方式运行,保存在当前目录
    $objWriter->save($fileName);         
    //下载到浏览器
    echo "<!>".$fileName."<!>";
         
        
  exit;
 
}
?>
测试过的,可以用,其他的excel格式自己设置哦!
评论( 相关
后面还有条评论,点击查看>>