php 导出excel

以下代码只是为了以后方便我自己复制使用,哈哈

/*------------------------------------------------------ */
//-- 导出分类
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'export')
{
    ini_set('memory_limit','500M');
    set_time_limit(0);
    $cat_name = '分类表';
    //PHPExcel类
    require_once ROOT_PATH . 'includes/modules/PHPExcel/Classes/PHPExcel.php';
    require_once ROOT_PATH . 'includes/modules/PHPExcel/Classes/PHPExcel/IOFactory.php';
    $PHPExcel = new PHPExcel();

    //设置excel属性基本信息
    $PHPExcel->getProperties()->setCreator("Neo")
    ->setLastModifiedBy("Neo")
    ->setTitle($cat_name)
    ->setSubject("分类表")
    ->setDescription("")
    ->setKeywords("分类表")
    ->setCategory("");

    $PHPExcel->setActiveSheetIndex(0);
    $PHPExcel->getActiveSheet()->setTitle("分类表");
    //填入表头主标题
    $PHPExcel->getActiveSheet()->setCellValue('A1', $cat_name);
    //填入表头副标题
    $PHPExcel->getActiveSheet()->setCellValue('A2', '操作者:'.$_SESSION['admin_name'].' 导出日期:'.local_date('Y-m-d',time()));
    //合并表头单元格
    $PHPExcel->getActiveSheet()->mergeCells('A1:Q1');
    $PHPExcel->getActiveSheet()->mergeCells('A2:Q2');
    
    //设置表头行高
    $PHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(40);
    $PHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);
    $PHPExcel->getActiveSheet()->getRowDimension(3)->setRowHeight(30);
    
    //设置表头字体
    $PHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('黑体');
    $PHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
    $PHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
    $PHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setName('宋体');
    $PHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setSize(14);
    $PHPExcel->getActiveSheet()->getStyle('A3:Q3')->getFont()->setBold(true);
         
    // 表格宽度
    $PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);//分类ID
    $PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);//分类名称
    $PHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);//上级分类ID
    $PHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);//排序
    $PHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);//是否显示

    // $objActSheet->getColumnDimension('B')->setAutoSize(true);   //内容自适应

    //表格标题
    $PHPExcel->getActiveSheet()->setCellValue('A3', '分类ID');
    $PHPExcel->getActiveSheet()->setCellValue('B3', '分类名称');
    $PHPExcel->getActiveSheet()->setCellValue('C3', '上级分类ID');
    $PHPExcel->getActiveSheet()->setCellValue('D3', '排序');
    $PHPExcel->getActiveSheet()->setCellValue('E3', '是否显示');

    

    /* 获取分类数据 */
    $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('category') ."  ORDER BY cat_id asc";

    $hang = 3;
    $max_row=0;
    $res=$db->query($sql);

    while($row=$db->fetchRow($res)){  
        $hang++;
        $PHPExcel->getActiveSheet()->setCellValue('A' . ($hang), $row['cat_id']);//分类ID
        $PHPExcel->getActiveSheet()->setCellValue('B' . ($hang), $row['cat_name']);//分类名称
        $PHPExcel->getActiveSheet()->setCellValue('C' . ($hang), $row['parent_id']);//上级分类ID
        $PHPExcel->getActiveSheet()->setCellValue('D' . ($hang), $row['sort_order']);//排序
        $PHPExcel->getActiveSheet()->setCellValue('E' . ($hang), $row['is_show']);//是否显示
    
    }      

    ob_end_clean();//清除缓冲区,避免乱码
    header('Content-Type: application/vnd.ms-excel'); 
    header('Content-Disposition: attachment;filename=" '.$cat_name.'.xls"'); //日期为文件名后缀 
    header('Cache-Control: max-age=0'); 
    $objWriter = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5'); //excel5为xls格式,excel2007为xlsx格式 
    $objWriter->save('php://output');
    exit;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都进步一点点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值